2012-11-23 68 views
11

Wie kann man einen Prozess mit Namen beenden und aus einem bestimmten Pfad mit taskkill erzeugen?taskkill, um 2 Bilder nach Pfad zu unterscheiden

taskkill/F/IM

sicherlich kann es nicht zwei Verfahren unterscheiden gestartet von zwei verschiedenen Standorten C: \ Dir1 und C: \ Dir2

Hat Tasklist alle Schalter hat den Pfadnamen

Antwort

7
zu erhalten

taskkill kann es nicht tun. Aber Sie könnten Powershell verwenden, wenn es eine Option:

(Get-WmiObject Win32_Process | Where-Object { $_.Path.StartsWith('C:\Dir1') }).Terminate() 
2

den folgenden Befehl verwenden (es auch ohne Powershell funktioniert):

wmic process where ExecutablePath='C:\\Dir1\\image.exe' delete 

HINWEIS: ExecutablePath nur für alle Prozesse zugänglich ist, wenn Sie wmic als Administrator auf Windows 8

laufen
1

Ihr Fall scheint zu sein, wenn Sie benutzerdefinierte Dienste mit demselben Prozessnamen aus verschiedenen Pfaden auf dem Computer installiert haben. Wenn dies tatsächlich das Szenario ist, haben Sie wahrscheinlich verschiedene Dienstnamen, die als zusätzlicher Filter verwendet werden können.

Siehe Syntax:

taskkill /S {REPLACE_WITH_SERVER_IP_OR_NAME} /F /FI "IMAGENAME eq {REPLACE_WITH_PROCESS_NAME}" /FI "SERVICES eq {REPLACE_WITH_SERVICENAME}" 

Siehe Beispiel:

taskkill /S 10.10.1.1 /F /FI "IMAGENAME eq tomcat7.exe" /FI "SERVICES eq tomcatServiceEngine" 

Für Liste aller verfügbaren Filter finden Sie unter taskkill command