Frage von halloichbins098, 37

Batch Prozess mit Batch Datei killen?

Wie kann ich mit dem Befehl Taskkill einen Batch Prozess beenden?

Antwort
von S1r1us13, 29

Batchdateien laufen über cmd.exe. Um die cmd.exe zu beenden, benutzt du TASKKILL wie zalto beschrieben hat. Gibt es mehrere CMD-Prozesse, musst du den Zielprozess anhand seines Fenstertitels erkennen:

FOR /F "tokens=2,9,*" %%A IN ('tasklist /NH /V /FI "imagename eq cmd.exe"') DO if "%%~C" == "Fenstertitel des zu beenden Prozesses" taskkill /F /PID %%A

Diese Befehlskette sucht in der Ausgabe des TASKLIST-Befehls nach dem entsprechenden Fenstertitel in der letzten Spalte (Token 10 und folgende). Findet er ihn, beendet er den CMD-Prozess anhand seiner Prozess-ID. Damit verhinderst du, dass die anderen CMD-Prozesse mitbeendet werden.

Ist dir der Fenstertitel nur zum Teil bekannt, kannst du auch über FINDSTR arbeiten:

FOR /F "tokens=2" %%A IN ('tasklist /NH /V /FI "imagename eq cmd.exe" ^| findstr /i /C:"Teil des Fenstertitel" ^| findstr /v "findstr"') DO taskkill /F /PID %%A

Da der aktuelle Befehl immer im Fenstertitel der zugehörigen Batchdatei steht, muss die Datei sich selbst aus der Schusslinie nehmen, was du mit "FINDSTR /V findstr" machst. Dadurch werden alle Fenstertitel mit "findstr" ausgeschlossen. Enthält der Zielprozess auch "findstr" im Fenstertitel, kannst du den Titel der verwaltenden Batchdatei per TITLE-Befehl anpassen und dann das ausschließen.

Antwort
von zalto, 27

Z.B. einen Prozess "cscript.exe" würde man so beenden:

TaskKill.exe /F /IM "cscript.exe"

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten