Wie kann ich in einer Batch-Datei feststellen, ob ein Prozess ausgeführt wird?

8

Ich möchte eine Batch-Datei schreiben, die prüft, ob ein Prozess läuft, und eine Aktion ausführt, falls dies der Fall ist, und eine andere Aktion, falls dies nicht der Fall ist.

Ich weiß, dass ich Tasklisten verwenden kann, um alle laufenden Prozesse aufzulisten, aber gibt es eine einfachere Möglichkeit, einen bestimmten Prozess direkt zu überprüfen?

Es scheint, als ob das funktionieren sollte, aber es nicht:

%Vor%

Unter Verwendung der von atzz bereitgestellten Lösung folgt hier eine vollständige Demo:

Bearbeiten: Vereinfacht und modifiziert, um sowohl unter WinXP als auch unter Vista zu funktionieren

%Vor%     
JosephStyons 19.11.2008, 17:00
quelle

2 Antworten

6

Sie können das "for / f" -Konstrukt verwenden, um die Programmausgabe zu analysieren.

%Vor%

Auch ist es eine gute Idee, ein

zu halten %Vor%

am Anfang des Skripts, nur für den Fall, dass der Benutzer es standardmäßig deaktiviert hat.

    
atzz 19.11.2008, 17:26
quelle
2

Einige Optionen:

  • PsList von Microsoft

Ссылка

  • Cygwin (für ps)
  • das Resource Kit (für ps.vbs)

Ссылка

  • Powershell für get-process.
Lou Franco 19.11.2008 17:05
quelle

Tags und Links