2017-04-04 1 views
1

Ich habe zwei Aufgaben Task1 und Task2 über eine .bat-Datei mit dem Befehl schtasks.exe erstellt.Batch-Datei zum Erstellen eines Auslösers zum Starten einer Aufgabe

Ich muss einen Trigger erstellen, der den Start von Task2 auslöst, wenn Task1 abgeschlossen ist.

Wo und wie schreibe ich die Befehle für den Trigger in der Batch-Datei?

Wenn ich den Auslöser manuell im Windows Taskplaner erstellen, dann ist das XML, das ich in der Trigger-Registerkarte von Task2 verwende. Hier

<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> 

ist der Inhalt der Batchdatei:

@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 

Antwort

2

Sie können einen Zeitplan erstellen, die folgende auszuführen:

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

Wenn task1.exe schließt, wird task2 automatisch gestartet.

+0

um genau zu sein (https://ss64.com/nt/syntax-redirection.html): "Wenn Task1 mit Fehlerlevel 0 beendet wird, wird Task 2 automatisch gestartet" – Stephan

+1

@Stephan Interessant, ich wusste es nicht Das! –

+0

Ich habe den Batch-Dateiinhalt im OP hinzugefügt. @Bali, Task1 wird manuell ausgeführt. Die betreffende Batch-Datei sollte Task1 nicht starten. Entschuldigung, dass ich nicht früher etwas gesagt habe. –

Verwandte Themen