2016-11-28 89 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)。 另一種方法是檢查批次是否與執行的批次相同並跳過該批次。

相關問題