for /f "delims=" %%i in ('dir /b /a-d /s "*.bat"') do call %%i
我写了这个,怎么都不行...
结果:
每次继续都是只运行它本身(father.bat
),而不能运行子目录的bat(son.bat),所以不能这样遍历?
pause
for /f "delims=" %%i in ('dir *.bat /b /s') do start "" "%%i"
然后又写了这个,这个倒是可以了,但是如果没有pause
会不断运行本bat,刚弄死机了。。。
上面这个每运行一个bat就会打开一个窗口,并且不会自动关闭,求更好的方法
for /f "delims=" %%i in ('dir *.bat /b /s^|findstr /v /i "father.bat"') do start "" "%%i"
改成这样就不会重复运行bat本身了,但是会把每个运行的bat都打开一个窗口来运行,并且不会自动关掉...
for /r video/ %%i in (*.bat) do call %%i
这个却又只能遍历指定文件夹下的bat,不能更深入到其它子文件夹...
要么过滤掉自身,要么把自身的扩展名改.cmd