Windows Task Scheduler, запустить задачу, если задача не выполняется?

5397
George Othen

Как мне убедиться, что задача выполняется постоянно?

Я использую спидфан, чтобы управлять своими поклонниками, и иногда он падает или его нужно перезапустить. Если я вручную выйду из speedfan, потому что он не работает правильно, он не открывается автоматически.

Как я могу использовать планировщик задач, чтобы он всегда работал, даже если он не работает?

В настоящее время он запускается каждый раз, когда я вхожу в систему, и настраивается на перезапуск в случае сбоя задачи, но она по-прежнему не открывается.

Спасибо

2

1 ответ на вопрос

2
Pimp Juice IT

Планировщик задач - запускать задачу, если она не запущена

Вы можете использовать пакетный скрипт, подобный приведенному ниже, и использовать Tasklist и FindStr, чтобы проверить, работает ли в памяти имя EXE SpeedFan. Используя приведенную ниже логику, он запустит EXE, если он не найден работающим в памяти.


Пример пакетного скрипта

Обязательно замените SpeedFan.exeзначение на фактическое имя EXE-файла, который запускается при запуске приложения, и он работает правильно, если в нем что-то другое SET EXEName=SpeedFan.exe.

Вы должны будете убедиться, что полный явный путь к EXE также находится в приведенной ниже логике того, чем он является на самом деле, поэтому просто замените его (в SET EXEFullPath=C:\Program Files\SpeedFan\SpeedFan.exe) на реальный путь к приложению EXE; после =знака, где вы это измените.

Просто запланируйте, что он будет запускаться с планировщиком заданий каждые 1 минуту, 30 секунд, или, как часто вы хотите, чтобы этот процесс проверял, запущен он или нет, а если нет, то запускайте его.

@ECHO OFF  SET EXEName=SpeedFan.exe SET EXEFullPath=C:\Program Files\SpeedFan\SpeedFan.exe  TASKLIST | FINDSTR /I "%EXEName%" IF ERRORLEVEL 1 GOTO :StartSpeedFan GOTO EOF  :StartSpeedFan START "" "%EXEFullPath%" GOTO EOF