我有以下批处理脚本来运行目录中的所有文件 。但是这个脚本是一个无限循环并且不断重复。有没有办法在完成最后一个批处理文件后停止脚本以下是我的脚本
@echo off
for /R %%x in (*.bat) do (
call "%%x"
)
pause
答案 0 :(得分:2)
由于您在当前目录中包含此脚本,因此它与其他目录一起运行:递归/无限调用。
将此脚本放一级,cd在bat文件的目录中并使用..\yourscript.bat
或者您可以过滤掉循环中的当前脚本:
@echo off
for /R %%x in (*.bat) do (
if not "%%x" == "%~0" call "%%x"
)
答案 1 :(得分:1)
这是因为您在与所有其他批处理文件相同的文件夹中启动批处理,将此批处理移动到另一个文件夹并将(*.bat)
路径调整为(other_folder\*.bat)
。
另一种方法是检查批次是否与执行的批次相同并跳过该批次。