用于创建触发器以启动任务的批处理文件
Batch file to create a trigger to start a task
我使用命令 schtasks.exe.
通过 .bat 文件创建了两个任务 Task1 和 Task2
我需要创建一个触发器,在 Task1 完成时触发 Task2 的启动。
我在哪里以及如何在批处理文件中编写触发器的命令?
如果我在 Windows 任务计划程序中手动创建触发器,那么下面是我在任务 2 的触发器选项卡中使用的 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
您可以为运行以下内容创建一个时间表:
cmd /c start /wait task1.exe && start task2.exe
当task1.exe
关闭时,task2
会自动启动。
我使用命令 schtasks.exe.
通过 .bat 文件创建了两个任务 Task1 和 Task2我需要创建一个触发器,在 Task1 完成时触发 Task2 的启动。
我在哪里以及如何在批处理文件中编写触发器的命令?
如果我在 Windows 任务计划程序中手动创建触发器,那么下面是我在任务 2 的触发器选项卡中使用的 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
您可以为运行以下内容创建一个时间表:
cmd /c start /wait task1.exe && start task2.exe
当task1.exe
关闭时,task2
会自动启动。