Per batch abfragen ob ein prozess läuft und erst weitermachen, wenn dieser beendet ist
Hallo
ich möchte eine Batch Datei erstellen, in welcher eine installationsroutine läuft und danach eine zweite starten soll. wie kann ich regeln, dass erst die setup2.exe startet, nachdem lt. taskmanager die setup1.exe beendet wurde?
grüße
Chris
call und wait bringen keinen effekt
ich möchte eine Batch Datei erstellen, in welcher eine installationsroutine läuft und danach eine zweite starten soll. wie kann ich regeln, dass erst die setup2.exe startet, nachdem lt. taskmanager die setup1.exe beendet wurde?
grüße
Chris
call und wait bringen keinen effekt
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 213101
Url: https://administrator.de/forum/per-batch-abfragen-ob-ein-prozess-laeuft-und-erst-weitermachen-wenn-dieser-beendet-ist-213101.html
Ausgedruckt am: 09.04.2025 um 08:04 Uhr
3 Kommentare
Neuester Kommentar
Hi
nein @DerWoWusste das funktioniert nicht immer, z.B. wenn man Teamviewer installiert und danach die Config in die REG schreiben will muss Teamviewer definitiv aus sein, auch der Dienst, sonst nimmt der das nicht an.
Warum die Pings? Damit eine kurze Wartezeit ausgeführt wird, damit der Prozess wirklich beendet ist, das braucht immer ein bischen Zeit bis der den Prozess richtig gekillt hat.
Wir haben das so gelöst, damit wir Teamviewer sauber installieren können (wir haben leider keine Coorp. Lizenz wo man das MSI File bekommt und müssen über die "Standard" EXE installieren.
Ähnliche Probleme bekommt man mit Installern, die mitten in der Installation das "Programm" wechseln, wenn z.B. über eine Setup.exe die Installation gestartet wird und mitten drin diverse MSI aufgerufen werden und die Setup.exe schon längst beendet ist - aber die Installation noch garnicht abgeschlossen wurde.
Edit Add:
Ansonsten, kannst die Tasklist auch abfragen:
gefunden @ http://stackoverflow.com/questions/162291/how-to-check-if-a-process-is- ...
nein @DerWoWusste das funktioniert nicht immer, z.B. wenn man Teamviewer installiert und danach die Config in die REG schreiben will muss Teamviewer definitiv aus sein, auch der Dienst, sonst nimmt der das nicht an.
1
2
3
4
5
6
7
2
3
4
5
6
7
@echo off
ping 127.0.0.1 -n 1 -w 3000 > nul
taskkill /f Prozessname
ping 127.0.0.1 -n 1 -w 3000 > nul
net stop servicename
ping 127.0.0.1 -n 1 -w 3000 > nul
nächster Programmaufruf
Warum die Pings? Damit eine kurze Wartezeit ausgeführt wird, damit der Prozess wirklich beendet ist, das braucht immer ein bischen Zeit bis der den Prozess richtig gekillt hat.
Wir haben das so gelöst, damit wir Teamviewer sauber installieren können (wir haben leider keine Coorp. Lizenz wo man das MSI File bekommt und müssen über die "Standard" EXE installieren.
Ähnliche Probleme bekommt man mit Installern, die mitten in der Installation das "Programm" wechseln, wenn z.B. über eine Setup.exe die Installation gestartet wird und mitten drin diverse MSI aufgerufen werden und die Setup.exe schon längst beendet ist - aber die Installation noch garnicht abgeschlossen wurde.
Edit Add:
Ansonsten, kannst die Tasklist auch abfragen:
1
2
2
tasklist /FI "IMAGENAME eq myapp.exe" 2>NUL | find /I /N "myapp.exe">NUL
if "%ERRORLEVEL%"=="0" echo Programm is running