2017-04-04 55 views
1

我使用命令schtasks.exe通過.bat文件創建了兩個任務Task1和Task2。創建觸發器以啓動任務的批處理文件

我需要創建一個觸發器,當Task1完成時將觸發Task2的開始。

在哪裏以及如何在批處理文件中寫入觸發器的命令?

如果我在Windows任務計劃程序中手動創建觸發器,那麼以下是我在Task2的觸發器選項卡中使用的XML。

<QueryList> 
    <Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational"> 
    <Select Path="Microsoft-Windows-TaskScheduler/Operational">*[EventData[@Name='TaskSuccessEvent'][Data[@Name='TaskName']='\Task1']]</Select> 
    </Query> 
</QueryList> 

這裏是批處理文件的內容:

@echo off 
Set RUN_AS_ACCT=%USERDOMAIN%\%USERNAME% 

echo The currently logged on user is: %RUN_AS_ACCT% 
echo. 
set /P INP_RUN_AS_ACCT="Account to run the batch under?(%RUN_AS_ACCT%) " 

IF NOT "%INP_RUN_AS_ACCT%"=="" SET RUN_AS_ACCT=%INP_RUN_AS_ACCT% 
echo. 
echo Using: %RUN_AS_ACCT% 
schtasks.exe /CREATE /RU "%RUN_AS_ACCT%" /RP /TN "Task1" /tr "D:\load\Task1.bat" 
echo. 
schtasks.exe /CREATE /RU "%RUN_AS_ACCT%" /RP /TN "Task2" /tr "D:\load\Task2.bat" 
echo. 
pause 
:EOF 

回答

2

您可以創建一個時間表,運行以下命令:

cmd /c start /wait task1.exe && start task2.exe 

task1.exe關閉,task2將自動啓動。

+0

要[確切](https://ss64.com/nt/syntax-redirection.html):「當task1退出錯誤級別0,任務2將自動啓動」 – Stephan

+1

@Stephan有趣的是,我不知道那! –

+0

我已經在OP中添加了批處理文件內容。 @Bali,Task1將被手動執行。有問題的批處理文件不應該啓動Task1。對不起,沒有具體提前。 –

相關問題