run a batch file recursively: set nameDir=%CD% :: run the following code recursively for /r /d %%d in (*) do ( :: go to a next directory cd %%d :: run batch file call test.bat :: go back to nameDir cd nameDir ) %%d: each directory name nameDir: current directory name pushd and popd can be used instead of cd %%d and cd %CD%.