Windows 运行给定目录中的所有批处理文件
我有以下用于运行目录中所有文件的批处理脚本 。但是,此脚本是一个无限循环,并不断重复。有没有办法在脚本完成最后一个批处理文件时停止脚本?下面是我的脚本Windows 运行给定目录中的所有批处理文件,windows,batch-file,infinite-loop,Windows,Batch File,Infinite Loop,我有以下用于运行目录中所有文件的批处理脚本 。但是,此脚本是一个无限循环,并不断重复。有没有办法在脚本完成最后一个批处理文件时停止脚本?下面是我的脚本 @echo off for /R %%x in (*.bat) do ( call "%%x" ) pause 由于您将此脚本包括在当前目录中,所以它将和其他脚本一起运行:递归/无限调用 将此脚本提高一级,将cd放入bat文件目录中,并用调用它。\yourscript.bat 或者,您可以过滤掉循环中的当前脚本: @echo off
@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)
路径调整为(其他文件夹\*.bat)
。
另一种方法是检查批处理是否与执行的批处理相同,并跳过该批处理