n0cturne
Goto Top

Taskkill für bestimmtes cmd Fenster

Hallo Zusammen,

ich rufe mit einer cmd (title=Testanwendung-Watchdog-%Variable%) die psexec folgendermaßen auf:
psexec.exe -a 1  -w  Anwnedungspfad\Anwendung.exe

Nun mögchte ich genau dieses CMD Fenster mit einem Anderen Skript schließen.
taskkill /fi "WINDOWTITLE eq *Testanwendung-Watchdog-*" /f /t  
Funktioniert leider nicht, da taskkill wohl nicht mit 2 Wildcards klar kommt.

Ich wäre sehr dankbar für einen alternativen Lösungsweg.

Content-Key: 315948

Url: https://administrator.de/contentid/315948

Printed on: April 19, 2024 at 03:04 o'clock

Member: colinardo
colinardo Sep 22, 2016 updated at 13:52:42 (UTC)
Goto Top
Servus
powershell -Executionpolicy ByPass -Command  "Get-Process | ?{$_.MainWindowTitle -like '*Testanwendung-Watchdog-*'} | Stop-Process -Force"  
Aber warum speicherst du dir nicht die Process ID?. Du kannst Prozesse auch anhand der genutzten Befehlskette identifizieren (cmdline).

So z.B. bekommst du die Befehlszeile mit der die jeweilige CMD ausgeführt wurde
wmic process where (Name = "cmd.exe") get Commandline  
Hier kann man nach belieben im where filter filtern ( CommandLine like "%blabla%") und dann mit call statt get die "Terminate" methode ausführen lassen.

Grüße Uwe
Member: clubmaster
clubmaster Sep 22, 2016 at 16:08:45 (UTC)
Goto Top
Probiere mal taskkkill /IM Anwendung.exe(*)
Member: n0cturne
n0cturne Sep 26, 2016 at 08:44:10 (UTC)
Goto Top
Moin moin,

@colinardo
powershell kann ich hier leider nicht benutzen.

@clubmaster
da ich eine bestimmte cmd.exe beenden möchte, jedoch nicht alle cmd Fenster, komme ich damit nicht weit.
Member: colinardo
colinardo Sep 26, 2016 at 09:16:21 (UTC)
Goto Top
Zitat von @n0cturne:
@colinardo
powershell kann ich hier leider nicht benutzen.
Die obere Zeile ist für eine Batch face-wink

Alternative für Batch steht oben.
Member: colinardo
Solution colinardo Sep 27, 2016 updated at 07:28:28 (UTC)
Goto Top
Hier ein weiteres "Batch" Beispiel:
@echo off
set "searchstring=Testanwendung-Watchdog-%Variable%"  
for /f "tokens=2" %%a in ('tasklist /V /FI "IMAGENAME eq cmd.exe" ^| find /i "%searchstring%"') do taskkill /pid %%a  
Grüße Uwe

Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Merci.
Member: n0cturne
n0cturne Sep 29, 2016 at 14:34:56 (UTC)
Goto Top
Dankesehr! face-smile