
93578
27.01.2013, aktualisiert um 19:27:17 Uhr
Per Batch nach mehrere bestimmte Prozesse suchen???
Normalerweise verwende ich dafür folgendes:
Was ist aber, wenn ich nach weitere 10-15 bestimmte Prozessen suchen will (sagen wir: notepad.exe, ccc.exe, word.exe, excel.exe usw.) und positive Ergebnisse zu jedem einzelnem in der Textdatei "MyLog.txt" speichern will bzw. wenn kein einziges Prozess gefunden wird, dass dort eine allegemeine Meldung "Es wurden keine Prozesse gefunden" gespeichert wird?
Eventuell könnten die Namen von Prozessen in einer txt-Datei gespeichert sein, um diese leicht zu editieren. Aber wie ich das organisiere?
Danke,
takeshi.
echo Es wird nach Prozess gesucht.
echo --------------------------------------------- >> Berichte\MyLog.txt
echo %date% %time:~0,8% Die Suche nach Prozess wird gestartet. >> Berichte\MyLog.txt
echo --------------------------------------------- >> Berichte\MyLog.txt
qprocess | find /i "kies.exe" > NUL: 1>&2
if errorlevel 1 goto :starten
echo Es wurde Prozess "kies.exe" gefunden. >> Berichte\MyLog.txt
:starten
echo Prozess "kies.exe" wurde nicht gefunden. >> Berichte\MyLog.txt
Was ist aber, wenn ich nach weitere 10-15 bestimmte Prozessen suchen will (sagen wir: notepad.exe, ccc.exe, word.exe, excel.exe usw.) und positive Ergebnisse zu jedem einzelnem in der Textdatei "MyLog.txt" speichern will bzw. wenn kein einziges Prozess gefunden wird, dass dort eine allegemeine Meldung "Es wurden keine Prozesse gefunden" gespeichert wird?
Eventuell könnten die Namen von Prozessen in einer txt-Datei gespeichert sein, um diese leicht zu editieren. Aber wie ich das organisiere?
Danke,
takeshi.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 197729
Url: https://administrator.de/forum/per-batch-nach-mehrere-bestimmte-prozesse-suchen-197729.html
Ausgedruckt am: 21.04.2025 um 17:04 Uhr
12 Kommentare
Neuester Kommentar
Hallo takitano!
Etwa so (ungetestet):
Wenn Du die Prozesse aus einer Textdatei einlesen willst, etwa so:
Grüße
bastla
Etwa so (ungetestet):
set "Log=Berichte\MyLog.txt"
set Prozesse="kies.exe" "notepad.exe" "ccc.exe" "word.exe" "excel.exe"
set "Meldung=Es wurden keine Prozesse gefunden."
echo Es wird nach Prozessen gesucht.
>>"%Log%" echo -----------------------------------------------
>>"%Log%" echo %date% %time:~0,8% Die Suche nach Prozessen wird gestartet.
>>"%Log%" echo -----------------------------------------------
(for %%i in (%Prozesse%) do (
qprocess | find /i %%i > NUL: 1>&2 && (
echo Es wurde Prozess %%i gefunden.
set "Meldung="
) || (
echo Prozess %%i wurde nicht gefunden.
)
))>>"%Log%"
if defined Meldung >>"%Log%" echo %Meldung%
set "Log=Berichte\MyLog.txt"
set "Prozesse=D:\Prozessliste.txt"
set "Meldung=Es wurden keine Prozesse gefunden."
echo Es wird nach Prozessen gesucht.
>>"%Log%" echo -----------------------------------------------
>>"%Log%" echo %date% %time:~0,8% Die Suche nach Prozessen wird gestartet.
>>"%Log%" echo -----------------------------------------------
(for /f "usebackq delims=" %%i in ("%Prozesse%") do (
qprocess | find /i "%%i" > NUL: 1>&2 && (
echo Es wurde Prozess "%%i" gefunden.
set "Meldung="
) || (
echo Prozess "%%i" wurde nicht gefunden.
)
))>>"%Log%"
if defined Meldung >>"%Log%" echo %Meldung%
bastla
Hallo takitano!
Grüße
bastla
ich will nicht die nicht gefundene Prozesse in der Log-Datei einzeln auflisten, sondern nur allgemein dort schreiben, dass "Es wurden keine Prozessen gefunden"
Falls es aber ein Prozess gefunden wird, soll alles so bleiben wie es schon schön ist.
Hört sich etwas widersprüchlich an - was genau ist denn nun Dein Wunschergebnis (in Datei und im Fenster)?Falls es aber ein Prozess gefunden wird, soll alles so bleiben wie es schon schön ist.
Grüße
bastla
Hallo takitano!
Grüße
bastla
set "Log=Berichte\MyLog.txt"
set "Prozesse=D:\Prozessliste.txt"
set "Meldung=Es wurden keine Prozesse gefunden."
echo Es wird nach Prozessen gesucht.
>>"%Log%" echo -----------------------------------------------
>>"%Log%" echo %date% %time:~0,8% Die Suche nach Prozessen wird gestartet.
>>"%Log%" echo -----------------------------------------------
(for /f "usebackq delims=" %%i in ("%Prozesse%") do (
qprocess | find /i "%%i" > NUL: 1>&2 && (
echo Es wurde Prozess "%%i" gefunden.
set "Meldung="
)
))>>"%Log%"
if defined Meldung (
>>"%Log%" echo %Meldung%
echo %Meldung%
)
bastla