Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   С помощью bat-ника найти и заменить текст в файле на текст из другого файла (http://forum.oszone.net/showthread.php?t=201415)

Nun-Nun 08-03-2011 11:08 1629813

С помощью bat-ника найти и заменить текст в файле на текст из другого файла
 
Нужен батник, решающий такую задачу: есть два текстовых файла - файл_1 и файл_2, нужно текст каждой строки (всего их две) из файла_1 вписать вместо конкретного текста в файле_2, например, текст первой строки из файла_1 вписать вместо текст_1 в файле_2, текст второй строки из файла_1 - вместо текст_2 в файле_2.

gora 08-03-2011 15:25 1630014

Код:

@Echo Off
SetLocal EnableDelayedExpansion
:: Обрабатываемый файл
Set file=e:\Temp\list 1.txt
:: Файл с заменами (содержит только две строки по условию задачи)
Set filechang=e:\Temp\list 2.txt
:: Два образца строк, подлежащих замене
Set srt1=First text
Set srt2=Second text

Set cnt =0
For /F "usebackq tokens=* delims=" %%i In ("%filechang%") Do (
        Set /A cnt +=1
        Set chang!cnt!=%%i
)
For /F "usebackq tokens=* delims=" %%i In ("%file%") Do (
        If "%%i"=="%srt1%" (
                Echo %chang1%>>test.txt
        ) Else (
                If "%%i"=="%srt2%" (
                        Echo %chang2%>>test.txt
                ) Else (
                        Echo %%i>>test.txt
                )
        )
)
Copy test.txt "%file%" /Y>Nul
Del test.txt>Nul



Время: 18:51.

Время: 18:51.
© OSzone.net 2001-