warkdimka
17-02-2016, 15:39
Всем привет! знаю тема старая и изъезженная, но все же: нужно заменить с помощью bat'ника одну строку на другую - <Directories Name="UnitOutputDir">output</Directories> на <Directories Name="UnitOutputDir"></Directories>
использую такие команды:
Set infile=%~dp01.cfg
Set find=output<
Set replace=" "
setlocal enabledelayedexpansion
for /F "tokens=* delims=," %%n in (!infile!) do (
set LINE=%%n
set TMPR=!LINE:%find%=%replace%!
Echo !TMPR!>>%~dp0time.cfg
)
move %~dp0time.cfg %infile%
Теперь суть проблемы - bat'ник распознает символ "<" в строке Set find=output< не просто как текст кусочка строки, а как часть кода. Сделать просто Set find=output не получится т.к. в файле еще несколько раз встречается слово output.
использую такие команды:
Set infile=%~dp01.cfg
Set find=output<
Set replace=" "
setlocal enabledelayedexpansion
for /F "tokens=* delims=," %%n in (!infile!) do (
set LINE=%%n
set TMPR=!LINE:%find%=%replace%!
Echo !TMPR!>>%~dp0time.cfg
)
move %~dp0time.cfg %infile%
Теперь суть проблемы - bat'ник распознает символ "<" в строке Set find=output< не просто как текст кусочка строки, а как часть кода. Сделать просто Set find=output не получится т.к. в файле еще несколько раз встречается слово output.