Du willst den FOR /L
Befehl. Zum Beispiel:
C:\>SET num=7 C:\>FOR /L %I IN (1, 1, %num%) DO @echo %I 1 2 3 4 5 6 7
Beachten Sie, dass Sie das Lead-Prozent-Vorzeichen in einer Batchdatei verdoppeln müssen. Also für Ihre CD-Ripping-Schleife:
FOR /L %%n IN (1, 1, %CDNumTot%) DO ( SET FileName=%PathName%\%BookName% CD %%n.mp3 ... )
Wenn Sie Schwierigkeiten haben, versuchen Sie Folgendes in eine Batch-Datei zu packen und zu überprüfen, ob sie funktioniert:
@ECHO OFF SET num=7 FOR /L %%I IN (1, 1, %num%) DO @echo %%I
Versuchen Sie dies für eine vollständige Lösung:
@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. )