运行给定目录中的所有batch file

我有以下批处理脚本来运行目录中的所有文件。但是,这个脚本是一个无限循环,并不断重复。 有没有办法停止脚本,当它完成最后一批文件以下是我的脚本

@echo off for /R %%x in (*.bat) do ( call "%%x" ) pause 

由于您将此脚本包含在当前目录中,因此它将与其他脚本一起运行:递归/无限调用。

把这个脚本放到一个水平,cd放在bat文件的目录中,用..\yourscript.bat调用它

或者你可以在你的循环中过滤掉当前的脚本:

 @echo off for /R %%x in (*.bat) do ( if not "%%x" == "%~0" call "%%x" ) 

这是因为您在与所有其他批文件相同的文件夹中启动批处理,将此批处理移到另一个文件夹,并将(*.bat)路径调整为(other_folder\*.bat) 。 另一种方法是检查批次是否与执行的批次相同,并跳过该批次。