Set a variable:
Use a variable:
Command line arguments are variables:
Check if a variable is defined:
IF NOT DEFINED FOO SET FOO="bar". Useful for testing command line arguments.
Check a result code from the last executed command:
IF ERRORLEVEL $n $CMD-TO-EXECUTE. It executes the command if result code is equal or greater to $n, so to check for any failures use 1.
Do things in a loop:
FOR /L %A IN (1,1,10) DO @echo hello
Execute another script:
Check if directory exists:
IF EXIST e:\directory GOTO USE_E
Here’s an example of a batch file that does a few common things:
@ECHO OFF @rem "pushd $dir" puts $dir on directory stack pushd . SET COMMENT=%1 IF NOT DEFINED COMMENT SET COMMENT="" SET FOO="bar" IF %FOO%=="bar" goto IS_BAR echo The above should always be true goto END :IS_BAR nmake -f Makefile.vc IF ERRORLEVEL 1 goto ERR_ONE_OR_HIGHER echo Compilation successful! goto END :ERR_ONE_OR_HIGHER echo Compilation failed! goto END :END @rem popd pops the directory name from the stack and does cd there popd