Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 运行给定目录中的所有批处理文件_Windows_Batch File_Infinite Loop - Fatal编程技术网

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)
。 另一种方法是检查批处理是否与执行的批处理相同,并跳过该批处理