2017-04-04 7 views
1

schtasks.exe 명령을 사용하여 .bat 파일을 통해 Task1과 Task2의 두 작업을 만들었습니다.작업을 시작할 트리거를 만드는 일괄 파일

Task1이 완료 될 때 Task2의 시작을 트리거하는 트리거를 만들어야합니다.

어디서 어떻게 배치 파일에 트리거 명령을 작성합니까?

Windows 작업 스케줄러에서 수동으로 트리거를 만들면 Task2의 트리거 탭에서 사용하는 XML이 다음과 같습니다.

@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이 자동으로 시작됩니다 때 여기

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

배치 파일의 내용입니다.

+0

[정확] (https://ss64.com/nt/syntax-redirection.html) : "task1이 errorlevel 0으로 종료되고 작업 2가 자동으로 시작됩니다" – Stephan

+1

@Stephan 흥미 롭습니다. 그! –

+0

OP에 배치 파일 내용을 추가했습니다. @Bali, Task1 수동으로 실행됩니다. 문제의 배치 파일은 Task1을 시작하지 않아야합니다. 더 일찍 미안해해서 미안해. –