如果任务已经使用BATCH运行,如何停止现有任务实例

时间:2019-01-22 12:17:27

标签: windows batch-file task scheduled-tasks

我使用蝙蝠查询创建了调度程序任务

SchTasks /Create /TN Test_backup /SC DAILY /MO 1 /ST 01:00 /RL HIGHEST /TR %BACKUP_BAT_PATH%sco_database_backup.bat /RU "SYSTEM" /F

一切都很好,但是唯一的问题是我找不到用于将“停止现有实例”值设置为“如果任务已经在运行,则遵循以下规则”的参数。 This is what I am talking about

如何使用批处理查询设置此参数?

1 个答案:

答案 0 :(得分:0)

自Vista以来的Windows版本上,任务计划程序将有关已启动进程的信息写入事件日志中。

您可以通过以下方式获取有关任务的信息:

wevtutil qe Microsoft-Windows-TaskScheduler/Operational /q:*[System/EventID=129]/EventData[@Name='CreatedTaskProcess']/Data[@Name='TaskName']='\TASK_NAME'  

只需将TASK_NAME更改为任务名称即可。然后,您将看到该任务的信息,包括PID。一旦有了PID,就可以使用taskkill将其杀死。尽管请检查事件日志以查看是否需要更改wevutil查询。