繁体   English   中英

在给定目录中运行所有批处理文件

[英]running all the batch files in a given directory

我有以下用于运行目录中所有文件的批处理脚本。但是,此脚本是一个无限循环,并且会不断重复。 有没有办法在完成最后一个批处理文件时停止脚本,以下是我的脚本

@echo off 
 for /R %%x in (*.bat) do ( 
 call "%%x" 
)
pause

由于您将此脚本包含在当前目录中,因此它将与其他脚本一起运行:递归/无限调用。

要么将该脚本向上一级,将其放入bat文件目录中的cd,然后使用..\\yourscript.bat

或者您可以过滤掉循环中的当前脚本:

@echo off 
 for /R %%x in (*.bat) do (
 if not "%%x" == "%~0" call "%%x" 
)

那是因为您在与所有其他批处理文件相同的文件夹中启动该批处理,将该批处理移动到另一个文件夹,并将(*.bat)路径调整为(other_folder\\*.bat) 另一种方法是检查批处理是否与已执行的批处理相同,然后跳过该批处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM