У меня есть цикл FOR, который делает одну строку из каждой строки в файле. Идея состоит в том, что для каждой строки есть параллельная строка во вторичном файле со значением переменной в ней. Я сделал здесь цикл, который отображает переменную, которую он читает только для целей тестирования.
for %%a in (!loadstream!) do (
set /A "linecount=!linecount!+1"
for /F "skip=!linecount!" %%i in (save\%1\%1.sav) do (
echo %%i
)
)
Первый FOR работает нормально, но тот, который в нем, не расширяет переменную. Скорее, это остается как!LineCount! и дает !linecount!" was not expected at this time.
Это работает нормально, если вместо этого вы %linecount%
но мне нужно, чтобы эта переменная подсчитывала единицу каждый раз, когда она повторяется, так что это не пойдет. setlocal EnableDelayedExpansion
установлен, конечно.
Этот блок кода предназначен для вызова в скрипте всякий раз, когда необходимо загрузить определенный набор переменных. Я мог бы попытаться создать неуклюжий обходной путь, но я могу сказать, что это способ сделать это, и я просто не понимаю, что происходит не так.