У меня есть этот пакетный скрипт, который пролистывает 5 статических переменных набора, содержащих путь к файлу 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
)
)