批处理文件调用所有其他批处理文件

Batch file to call all other batch files

如何创建一个 "do everything" 批处理文件,它只调用其目录中的 所有 个其他批处理文件并一个接一个地执行它们?

我尝试使用

for /r %%i in (*.bat) do call %%i

惨败,因为显然文件迟早会调用自己,最终陷入一次又一次调用自己的无限循环。

我怎样才能更好地管理它?

只需在 for 循环中使用 if 语句:

for /r %%i in (*.bat) do (if "%~dpnx0" NEQ "%%~i" call "%%i")

您有 2 个解决方案:

将您的起始 bat 文件重命名为 .CMD

@echo off

for %%i in (*.bat) do if not "%%~nxi"=="%~nx0" call %%i