【问题标题】:How to stop the existing task instance if the task is already running using BATCH如果任务已使用 BATCH 运行,如何停止现有任务实例
【发布时间】:2019-01-22 12:17:26
【问题描述】:

我使用 bat 查询创建了一个调度器任务

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

一切都创建得很好,但唯一的问题是我找不到将“停止现有实例”值设置为“如果任务已经在运行,则以下规则适用”参数的参数。

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

【问题讨论】:

  • 我建议您手动创建任务,将其导出为 XML,修改此 XML(如果需要)并通过导入此 XML 来创建任务。在这种情况下,您可以指定任务的所有方面。
  • @montonero 听起来不错,谢谢

标签: windows batch-file task scheduled-tasks


【解决方案1】:

在从 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 查询。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    相关资源
    最近更新 更多