Вы хотите FOR /L
команду. Например:
C:\>SET num=7 C:\>FOR /L %I IN (1, 1, %num%) DO @echo %I 1 2 3 4 5 6 7
Обратите внимание, что вы должны удвоить знак процента свинца в пакетном файле. Итак, для вашего цикла копирования CD:
FOR /L %%n IN (1, 1, %CDNumTot%) DO ( SET FileName=%PathName%\%BookName% CD %%n.mp3 ... )
Если у вас возникли трудности, попробуйте поместить следующее в командный файл и посмотрите, работает ли он:
@ECHO OFF SET num=7 FOR /L %%I IN (1, 1, %num%) DO @echo %%I
Попробуйте это для полного решения:
@ECHO OFF SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM set /p BookName="Book Name: " REM set /p AuthorName="Author Name: " REM set /p CDNumTot="Total number of CDs: " set BookName=Victory and Honor set AuthorName=W.E.B. Griffin set CDNumTot=8 set PathName=C:\Rip\%AuthorName%\%BookName% REM mkdir "C:\Rip\%AuthorName%\%BookName%\" REM cd C:\Program Files (x86)\freac ECHO CD Count: %CDNumTot% FOR /L %%N IN (1, 1, %CDNumTot%) DO ( ECHO Please Eject CD and insert next CD# %%N... pause SET FileName=%PathName%\%BookName% CD%%N.mp3 ECHO Filename: !FileName! ECHO. ECHO Ripping CD# %%N... ECHO freaccmd -track all -o "!FileName!" ECHO CLS ECHO. ECHO. )