[Отредактированный вопрос, чтобы попытаться сделать его более понятным]
Простой вопрос, я думаю ....
Я пытаюсь использовать следующий пакетный код для замены строки в текстовом файле.;
@echo off
set "replace=#user=guest"
set "replaced=user=StoreUser1"
set "source=C:\Users\adam\Desktop\test.txt"
set "target=C:\Users\adam\Desktop\test1.txt"
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
Не выполняется должным образом, он просто оставляет текст без изменений.Однако, если я изменяю команды SET (и, конечно, текст в текстовом файле) как;
set "replace=#userguest"
set "replaced=userStoreUser1"
, тогда это работает как ожидалось.Я предполагаю, что второе '=', которое требуется , заставляет SET работать неправильно и потребности как-то ускользнули.
Надеюсь, что это имеет смысл и заранее спасибо!
Адам