Iterative for loop for /L [%% | %]variable in (start,step,end) do command [command-parameters] for /L %n in (1,1,10) do @echo %n Would print 1 to 10. The set is a sequence of numbers from start to end, by step amount. So (1,1,5) would generate the sequence 1 2 3 4 5 and (5,-1,1) would generate the sequence (5 4 3 2 1). %~I expands %I which removes any surrounding quotes (") %~fI expands %I to a fully qualified path name %~dI expands %I to a drive letter only %~pI expands %I to a path only %~nI expands %I to a file name only %~xI expands %I to a file extension only %~sI expands path to contain short names only %~aI expands %I to the file attributes of file %~tI expands %I to the date/time of file %~zI expands %I to the size of file %~$PATH:I searches the directories listed in the PATH environment variable and expands %I to the fully qualified name of the first one found. If the environment variable name is not defined or the file is not found by the search, then this modifier expands to the empty string. %~dpI expands %I to a drive letter and path only %~nxI expands %I to a file name and extension only %~fsI expands %I to a full path name with short names only %~dp$PATH:I searches the directories listed in the PATH environment variable for %I and expands to the drive letter and path of the first one found %~ftzaI expands %I to a dir-like output line