Если вы используете формат файла в своих интересах, вы можете установить значения новых переменных в верхней части скрипта, а затем, читая имена переменных из файла настроек, сможете увидеть, определены ли эти переменные.Если они определены, выведите новое значение, в противном случае выведите исходное значение.
Хитрость в этом заключается в расширении двойной переменной, которое вы получаете, когда вы используете команды CALL
и ECHO
вместе.Сначала для переменной for раскрывается имя переменной, а затем на втором этапе расширения значение переменной затем расширяется.Вот причина дополнительных наборов символов процента.
@echo off
Set "WinFullScreen=0"
Set "WinWidth=1000"
Set "WinHeight=700"
REM cd /d F:\
for %%F in (INTOUCH.INI) do set "outFile=%%~nF_edited%%~xF"
REM Read first line of file
set /p line1=<INTOUCH.INI
(echo %line1%
for /f "usebackq skip=1 tokens=1,2 delims==" %%G in ("INTOUCH.INI") do (
if defined %%G (
CALL echo %%G=%%%%G%%
) else (
echo %%G=%%H
)
))>"%outFile%"
Exit /b