zynerd
Goto Top

Prozess ID ermitteln und auswerten per Batch Datei.

Hallo liebes Forum,

ich bin zwar nicht so aktiv hier im Schreiben, aber lesen tue ich Dich regelmässig. Nun habe ich selbst ein Problem und hoffe auf Unterstützung.

Hallo liebe Leserin, lieber Leser,

ich benötige die ProzessID von einem Prozess und zwar in einer Variablen um weitere Auswertungen zu machen. Und zwar gebe ich ein:
tasklist /FI "imagename eq notepad.exe" /FO TABLE /NH  
und bekomme als Ergebnis z. B.

notepad.exe 1234 Console

und nun möchte ich nur die 1234 in einer Variablen haben. Gedacht war ...
@echo off
set PID=tasklist /FI "imagename eq notepad.exe" /FO CSV /NH  
echo "Notepad laeuft mit Prozess: %PID%"  
pause
Es geht aber nicht face-sad

Hoffe daher auf einen Tipp, würde mir hier einiges erleichtern.

LG
Jay Pee
Kommentar vom Moderator Dani am 23.04.2013 um 15:23:48 Uhr
Formatierungen hinzugefügt.

Content-ID: 205513

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

Ausgedruckt am: 22.11.2024 um 22:11 Uhr

bastla
bastla 23.04.2013 aktualisiert um 15:29:38 Uhr
Goto Top
Hallo Jay-Pee!

Sollte doch (ungetestet) so zu machen sein:
@echo off & setlocal
set "PID="  
for /f "tokens=2" %%i in ('tasklist /FI "imagename eq notepad.exe" /FO CSV /NH 2^>nul') do set "PID=%%i"  
if not defined PID echo PID nicht gefunden! & goto :eof
echo Notepad laeuft mit Prozess: %PID%
pause
[Edit] Ein kurzer Test unter XP spricht für folgende Variante:
@echo off & setlocal
set "PID="  
for /f "tokens=2 delims=," %%i in ('tasklist /FI "imagename eq notepad.exe" /FO CSV /NH 2^>nul') do set "PID=%%~i"  
if not defined PID echo PID nicht gefunden! & goto :eof
echo Notepad laeuft mit Prozess: %PID%
pause
[/Edit]
Grüße
bastla

P.S.: Beim regelmäßigen Lesen sollte Dir eigentlich auch die "Code"-Formatierung schon aufgefallen sein ...
ZyNerd
ZyNerd 23.04.2013 um 15:37:16 Uhr
Goto Top
Danke schön, perfekt.

LG
Jay Pee