Conditionally perform a command for a range of numbers.
Syntax FOR /L %%parameter IN (start,step,end) DO command Key start : The first number step : The amount by which to increment the sequence end : The last number command : The command to carry out, including any parameters. This can be a single command, or if you enclose it in (brackets), several commands, one per line. %%parameter : A replaceable parameter: in a batch file use %%G (on the command line %G)
So (20,-5,10) would generate the sequence (20 15 10)
(1,1,5) would generate the sequence 1 2 3 4 5
The numbers must all be within the range of 32 bit signed integer numbers (-2,147,483,648 through 2,147,483,647)
In addition to integer numbers, hex and octal numbers can also be compared within certain limits.
If the start,step,end are left null or (0) then the command will loop indefinitely, Ctrl-C will abort the whole script.
If you are using the FOR command at the command line rather than in a batch program, use just one percent sign: %G instead of %%G.
FOR does not, by itself, set or clear the Errorlevel.
FOR is an internal command.
Examples
Count from 1 up to 5
FOR /L %%G IN (1,1,5) DO echo %%G
Non-numeric lists can use a standard FOR command:
FOR %%G IN (Sun Mon Tue Wed Thur Fri Sat) DO echo %%G
Create 1000 numbered copies of a file:
FOR /l %%G in (1,1,1000) DO copy SourceFile.txt NewFile%%G.txt
"A great deal of what makes life congenial is a sequence of little white lies" - Philip Terzian
Related:
FOR - Loop commands.
FOR - Loop through a set of files in one folder.
FOR /R - Loop through files (recurse subfolders) .
FOR /D - Loop through several folders.
FOR /F - Loop through items in a text file.
FOR /F - Loop through the output of a command.
FORFILES - Batch process multiple files.
GOTO - Direct a batch program to jump to a labelled line.
IF - Conditionally perform a command.
Powershell: ForEach-Object - Loop for each object in the pipeline / While.
Equivalent bash command (Linux): for - Expand words, and execute commands.