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