2016-11-28 109 views
2

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

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

回答

1

既然你包括你的当前目录这个脚本,它是与别人跑:递归/无限通话。

要么把这个脚本一个级别,CD在蝙蝠文件的目录,并与..\yourscript.bat

叫它或者你可以在你的循环过滤掉当前的脚本:

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

也就是说因为您在与所有其他批文件相同的文件夹中启动该批次,请将该批次移至另一个文件夹并将(*.bat)路径调整为(other_folder\*.bat)。 另一种方法是检查批次是否与执行的批次相同并跳过该批次。

相关问题