У меня есть пакет, адаптированный из @MC ND, который ищет строку и заменяет ее в данном файле.
Он работает хорошо, за исключением того, что он удаляет пустые строки в моем исходном файле.
@echo off
setlocal enableextensions disabledelayedexpansion
set "search=To_be_replaced"
set "replace=Well_Replaced"
set "File=TEST.txt"
for /f "delims=" %%i in ('type "%File%" ^& break ^> "%File%" ') do (
set "line=%%i"
setlocal enabledelayedexpansion
>>"%File%" echo(!line:%search%=%replace%!
endlocal
)
Входной файл:
A
To_be_replaced
B
Я ожидаю, что вывод будет:
A
Well_Replaced
B
Фактический результат:
A
Well_Replaced
B
Как я могу не удалять пустые строки?
for /F
удаляет пустые строки; однако поток, связанный пользователем BDM, демонстрирует, как этого избежать; альтернативойfind /N /V ""
являетсяfindstr /N "^"
(но тогда вам нужно будет соответственно изменить параметрdelims
)... - person aschipfl   schedule 24.04.2019