2016-10-04 4 views
2

Was ich versuche mehrere Prozesse aus einem einzelnen Ordner in Windows zu tun auszusetzen ist 7. Ich eine Liste solchen proccessses bekommen kann die folgenden Befehle:Suspend alle Prozesse von einem bestimmten Ordner

WMIC PROCESS WHERE 'ExecutablePath like "c:\\users%"' GET 

oder

WMIC PROCESS WHERE 'ExecutablePath like "c:\\users%"' LIST 

Dann muss ich die Prozesse anhalten, die von diesen Befehlen zurückgegeben werden. Ich kann das tun, indem ich PsSuspend Software verwende. Das einzige Problem, mit dem ich Probleme habe, ist das Durchlaufen der Liste und das Ausführen dieses Befehls für jeden Prozess. In Bash-Skripten ist das ziemlich einfach, aber wie mache ich das einfach in Windows? Ich würde bevorzugen, eine .bat Datei oder etwas ähnliches zu verwenden, also wird es nicht übermäßig kompliziert.

Antwort

0

Hier ist ein Beispiel:

@Echo Off 
SetLocal EnableExtensions 

Rem Command 
(Set WC=Process) 
Rem Filter 
(Set WF=ExecutablePath Like) 
Rem Value 
(Set FV=%UserProfile%) 
Rem Output 
(Set RO=ProcessID) 
Rem Run 
(Set RC=PsSuspend) 

For /F "UseBackQ Skip=1" %%A In (
    `WMIC %WC% Where "%WF% '%FV:\=\\%%%'" Get %RO%`) Do For %%B In (%%A 
    ) Do %RC% %%B 

I Linie geändert 9 bis % Userprofile% Sie es zurück zu C ändern kann: \ Benutzer wenn Sie denken, ich falsch angenommen habe.

Verwandte Themen