Batch Programm nur starten wenn es noch nicht gestartet ist - zum Beispiel in Aufgabenplanung Task Scheduler: Unterschied zwischen den Versionen
Aus znilwiki
BLinz2 (Diskussion | Beiträge) K (Textersetzung - „<comments>“ durch „<comments />“) |
(kein Unterschied)
|
Aktuelle Version vom 6. August 2017, 19:51 Uhr
Nachfolgende Batch-Datei startet Notepad.exe nur wenn noch kein Prozess mit diesem Namen läuft.
@echo off
REM Beispiel-Batch das ein Programm nur startet wenn es noch nicht läuft
REM 2016 Bernhard Linz @ znil.net
REM Testen ob Notepad.exe schon gestartet ist:
tasklist | findstr "notepad.exe"
IF ERRORLEVEL 1 (
REM Starten was auch immer wir starten wollen
echo Starte Notepad.exe
c:\Windows\System32\notepad.exe
REM Soll die Batch nicht auf die Ausführung warten dann
REM c:\Windows\System32\notepad.exe
REM exit 0
) ELSE (
REM etwas anderes tun
echo Notepad.exe ist schon aktiv!
REM exit 1
)
Die Zeilen mit exit
solltet Ihr scharf schalten (REM entfernen) wenn Ihr diese Batch über die Aufgabenplanung / Task Scheduler von Windows startet.
Dadurch ist das saubere beenden gesichert - Zudem erhaltet Ihr den Status in der Aufgabenplanung zurück.
Wenn Ihr eine .cmd
oder .bat
über die Windows Aufgabenplanung ab Windows Vista / Windows Server 2008 starten wollt so müsst Ihr zwingend die cmd.exe
mit angeben:
Bei Programm also
C:\Windows\system32\cmd.exe
und bei Argumente
/c Pfad-zur-eurer-Batch-Datei
Loading comments...