Итак, у меня есть два файла, которые содержат идентичный текст, за исключением одной строки, что я делаю, так это копирую отличающуюся строку из файла %source%
в файл %target%
(что, по сути, просто записывает весь файл построчно в новый файл). Проблема, с которой я сталкиваюсь, заключается в том, что иногда исходный файл будет иметь встроенный комментарий, обозначенный ! который не переводится в целевой файл. Код, который я сейчас запускаю, выглядит следующим образом:
setlocal EnableDelayedExpansion
(
for /F "tokens=1* delims=:" %%a in ('findstr /N "^" %source%') do (
set "line=%%b"
if defined line set "line=!line:%replace%=%replaced%!"
echo(!line!
)
) > %target%
endlocal
goto :eof
Для простоты исходный файл представляет собой простой текстовый файл, как и целевой файл. Попробовал пару других "обойти!" проблемы с отложенным расширением, но, похоже, не могу найти тот, который хорошо подходит для этой ситуации, так как я не знаю, где в файле ! произойдет. Я также пытался переместить setlocal/endlocal в цикл for, но это тоже не работает.
Формат любой данной строки в файле %source%
, которая может вызвать проблему, будет следующим:
JARG 0.1000 1.2000
LINE 0.5000 1.0000 !This line tells us what is in the line
SMAP 0.0000 1.1100
Спасибо за любую помощь.