у меня есть этот пакетный скрипт, который пролистывает 5 статических переменных set, содержащих путь к файлу INI
файл, который затем считывает и ищет определенную строку для замены.
моя проблема в том, что после того, как если бы сказал замены и записывает файл обратно на диск, он, кажется, дезинфекции все экземпляры !
в INI-файле, который, в свою очередь, ломает мою программу.
Я полагаю,!
метки заменяются из-за DelayedExpansion, но я он нужен мне для выполнения моих задач. Я в том числе копию функции с вопросом, я был бы очень признателен, если кто-то может помочь мне понять это.
Я застрял, пытаясь найти ответ на это в течение нескольких дней теперь...
FOR %%A IN (1 2 3 4 5) DO (
SET CFG_A=!CFG_%%A!
IF "%DEBUG%"=="1" ECHO !CFG_A!
FOR /f "delims=" %%i IN ('type "!CFG_A!" ^& break ^> "!CFG_A!" ') DO (
SET "line=%%i"
SETLOCAL enabledelayedexpansion
SET "line=!line:%IP_V%=%IP%!"
>>"!CFG_A!" echo(!line!
ENDLOCAL
)
)