2012-03-02 98 views
2

比方說,我有一個順序運行一個接一個(通過Windows任務調度一個普通的Windows XP的PC上執行)5個批處理文件:錯誤套的批處理文件在Windows任務調度運行處理

Script1.bat 
Script2.bat 
Script3.bat 
Script4.bat 
Script5.bat 

假設其中一個腳本失敗(檢測到錯誤情況 - 關於發生這種情況的細節對於我的問題並不重要)。如果所有其他腳本都在任務調度程序中運行,如何停止運行其他腳本?例如,如果Script1.bat失敗,我不想運行Script2-5.bat。如果Script3.bat失敗,我不想運行Script4-5.bat等。

我曾考慮過將標誌值寫入臨時文件,每個腳本都會讀取。在每個腳本的開始處(除了第一個腳本之外),它將檢查該標誌是否有效。每次運行這些批處理文件時,第一個腳本將在開始時清除該標誌。

當然有更好的方法來做到這一點,或者有一個如何處理這種情況的標準?謝謝!

回答

1

編寫一個有條件地依次調用每個腳本的master.bat文件。然後安排主人而不是直接安排5個腳本。

@echo off 
call Script1.bat 
if %errorlevel%==0 call Script2.bat 
if %errorlevel%==0 call Script3.bat 
if %errorlevel%==0 call Script4.bat 
if %errorlevel%==0 call Script5.bat