For loops in Windows command line
I’m working on a script on Windows to automatically install Python packages listed in a text file like pip
does.
Because easy_install
doesn’t support a requirements.txt
as a packages’ list I made a small Batch file to simulate the pip
’s behavior, and I discovered the for loop of Windows’s command line.
The idea is to read the content of requirements.txt
and execute easy_install
for every line of the input file. The for loop has a multitude of options not to only iterate on a list of values, but also to iterate on the content of a file (or list of files) using a set of parsing keywords to extract tokens from every line.
The final script looks like this:
for /f "tokens=*" %%p in (requirements.txt) do (
easy_install %%p
if %errorlevel% gtr 1 (
echo %errorlevel%
exit /b 2
)
)
Really is looking different than any standard for loop you can find in any programming language but don’t forget the for loop is a real built-in command line application which needs arguments and command line’s options in order to work.