Windows Taskplaner, Task ausführen, wenn Task nicht ausgeführt wird?

5439
George Othen

Wie stelle ich sicher, dass eine Aufgabe ständig ausgeführt wird?

Ich verwende Speedfan, um meine Lüfter zu kontrollieren. Manchmal stürzt er ab oder muss neu gestartet werden. Wenn ich Speedfan manuell beendet habe, weil es nicht richtig funktioniert, wird es nicht automatisch wieder geöffnet.

Wie kann ich den Taskplaner verwenden, um sicherzustellen, dass er immer ausgeführt wird, auch wenn er nicht ausgeführt wird?

Derzeit ist es so eingestellt, dass es jedes Mal ausgeführt wird, wenn ich mich anmelde, und es wird festgelegt, dass der Task neu gestartet wird, wenn der Task fehlschlägt, aber nicht erneut geöffnet wird.

Vielen Dank

2

1 Antwort auf die Frage

2
Pimp Juice IT

Taskplaner - Task ausführen, wenn sie nicht ausgeführt wird

Sie können eine Batch - Skript ähnlich wie die Verwendung unten und verwenden Sie Tasklist und FindStr zu überprüfen, ob der EXE - Name von SpeedFan im Speicher ausgeführt wird . Mit der folgenden Logik wird die EXE gestartet, wenn nicht gefunden wird, dass sie im Arbeitsspeicher ausgeführt wird.


Batch-Skript-Beispiel

Stellen Sie sicher, dass Sie den SpeedFan.exeWert durch den tatsächlichen Namen der EXE-Datei ersetzen, die beim Starten der App ausgeführt wird. Wenn dies anders ist, funktioniert sie ordnungsgemäß SET EXEName=SpeedFan.exe.

Sie müssen sicherstellen, dass der vollständige explizite Pfad zur EXE-Datei auch in der unten stehenden Logik dessen, was sie tatsächlich ist, vorhanden ist. Ersetzen Sie das (in der SET EXEFullPath=C:\Program Files\SpeedFan\SpeedFan.exe) durch den tatsächlichen Pfad der EXE-Datei der App. Nach dem =Zeichen ändern Sie das.

Planen Sie dies einfach so, dass es mit dem Taskplaner alle 1 Minute oder 30 Sekunden ausgeführt wird, oder wie oft Sie möchten, dass dieser Prozess überprüft, ob er ausgeführt wird oder nicht und ob er dann gestartet werden soll.

@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