For loop (default) of Batch language is used to iterate over a list of files. Example: copy some files into a directory (Note: the files to be copied into the target directory need to be in the same disk drive).
FOR /D - Loop through several folders. FOR /L - Loop through a range of numbers. FOR /F - Loop through items in a text file. FOR /F - Loop through the output of a command.
If you want to do something x times, you can do this:
Example (x = 200):
FOR /L %%A IN (1,1,200) DO (
ECHO %%A
)
1,1,200
means:
FOR %%A IN (list) DO command parameters
list is a list of any elements, separated by either spaces, commas or semicolons.
command can be any internal or external command, batch file or even - in OS/2 and NT - a list of commands
parameters contains the command line parameters for command. In this example, command will be executed once for every element in list, using parameters if specified.
A special type of parameter (or even command) is %%A, which will be substituted by each element from list consecutively.
From FOR loops
Type:
for /?
and you will get several pages of help text.
Conditionally perform a command several times.
syntax-FOR-Files
FOR %%parameter IN (set) DO command
syntax-FOR-Files-Rooted at Path
FOR /R [[drive:]path] %%parameter IN (set) DO command
syntax-FOR-Folders
FOR /D %%parameter IN (folder_set) DO command
syntax-FOR-List of numbers
FOR /L %%parameter IN (start,step,end) DO command
syntax-FOR-File contents
FOR /F ["options"] %%parameter IN (filenameset) DO command
or
FOR /F ["options"] %%parameter IN ("Text string to process") DO command
syntax-FOR-Command Results
FOR /F ["options"] %%parameter IN ('command to process') DO command
It
%%G
equal to some part of that dataIf 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 Parameters
The first parameter has to be defined using a single character, for example the letter G.
FOR %%G IN
...
In each iteration of a FOR loop, the IN ( ....)
clause is evaluated and %%G
set to a different value
If this clause results in a single value then %%G is set equal to that value and the command is performed.
If the clause results in a multiple values then extra parameters are implicitly defined to hold each. These are automatically assigned in alphabetical order %%H %%I %%J
...(implicit parameter definition)
If the parameter refers to a file, then enhanced variable reference can be used to extract the filename/path/date/size.
You can of course pick any letter of the alphabet other than %%G
. but it is a good choice because it does not conflict with any of the pathname format letters (a, d, f, n, p, s, t, x) and provides the longest run of non-conflicting letters for use as implicit parameters.
FOR
will give you any information you'll ever need to know about FOR loops, including examples on proper usage.
Try this code:
@echo off
color 02
set num1=0
set num2=1
set terminator=5
:loop
set /a num1= %num1% + %num2%
if %num1%==%terminator% goto close
goto open
:close
echo %num1%
pause
exit
:open
echo %num1%
goto loop
num1
is the number to be incremented and num2
is the value added to num1
and terminator is the value where the num1
will end. You can indicate different value for terminator in this statement (if %num1%==%terminator% goto close
). This is the boolean expression goto close is the process if the boolean is true and goto open is the process if the boolean is false.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With