Wie Zählung Menge der Prozesse mit identischen Namen, die gerade läuft, mit einem batchfile
Ich würde gerne eine batch-Datei zu vergleichen, die Anzahl der Prozesse mit dem Namen "standard.exe", die läuft auf meinem Windows 7-Maschine, mit der Anzahl der Prozesse mit dem Namen "basic.exe". Wenn die Menge von Prozessen, dem so genannten "standard.exe" entspricht der Menge von Prozessen, dem so genannten "basic.exe" sollte nichts passieren, wenn die zahlen ungleich sind, basic.exe gestartet werden sollte.
Irgendwelche Ideen? Bereits den folgenden code, um zu überprüfen, ob ein Prozess ausgeführt wird, aber jetzt möchte ich die Anzahl der Prozesse mit den gleichen Namen.
tasklist /FI "IMAGENAME eq myapp.exe" 2>NUL | find /I /N "myapp.exe">NUL
if "%ERRORLEVEL%"=="0" echo Programm is running
Vielen Dank im Voraus!
- Ist es möglich, dass es weniger "standard.exe" Prozesse "basic.exe" lieben? Wenn ja, was sollte getan werden, in diesem Fall?
- standard.exe kann nur sein weniger als oder gleich basic.exe (läuft basic.exe erzeugt ein Prozess namens standard.exe). Also, ja, es ist sehr gut möglich, dass es weniger "standard.exe" Prozesse, die als "basic.exe" diejenigen, die in dem Fall alle basic.exe Prozesse müssen geschlossen werden und neu gestartet.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit Ihrem Beispiel ersetzen Sie einfach die /- N suchen mit /C, um die Anzahl der Prozesse.
Dann können Sie nur reduzieren Sie es auf :
Obwohl, wie Andriy M Punkte heraus, es passen beide myapp.exe und notmyapp.exe.
Als für den zweiten Teil Ihrer Frage, einfach dies tun:
Wenn Sie nicht möchten, schreiben Sie eine Datei, ersetzen Sie die
tasklist
- und set -var1
Befehle mitgleiche für den zweiten.
Es ist wohl ein ordentlicher Weg, es zu tun, aber der folgende code scheint um den trick zu tun:
Prost!