basmanov пишет:перенес скобочку
Да, это было обязательно!
smaharbA пишет:но отложенная обработка подойдет
+1
setlocal ENABLEDELAYEDEXPANSION
...
for /l %%i in (1,1,%sKol%) do (
set sFile%%i=C:\file_%%i.txt
...
if exist "!sFile%%i!" (
...
)
...
)
Но зачем вообще создавать при каждой итерации новую переменную sFile%%i, если бы можно было бы ограничиться sFile_1.
basmanov, и зачем было заимствовать у alexii извращения с more +4 и %sTempFile%, я ведь нарочно дал ссылку не на всю тему, а на сообщение #12 из неё, в котором предложен естественный подход.
Что-то вроде такого
setlocal ENABLEDELAYEDEXPANSION
set /p sKol=<C:\kolvo.txt
for /l %%i in (1,1,%sKol%) do (
set sFile_1=C:\file_%%i.txt
if exist "!sFile_1!" <"!sFile_1!" >nul (
set /p sFname_1=
set /p sFname_2=
set /p sFname_3=
set /p sFname_4=
set /p sFname_5=
)
)
И не надо засорять память, создавая при каждом проходе цикла новые переменные.