Batch + Timeout: Nach externem Programmende Batch fortführen
Hallo zusammen,
ich lasse mittels Batch ein Programm starten (z.B. Excel), überprüfe ob es noch läuft, und möchte nach manuellem Schließen das Batch weiterlaufen lassen.
Leider funktioniert der Sprung in die weitere Batch nach dem Schließen von Excel nicht.
Was mache ich falsch?
Gruß okidoki
ich lasse mittels Batch ein Programm starten (z.B. Excel), überprüfe ob es noch läuft, und möchte nach manuellem Schließen das Batch weiterlaufen lassen.
Leider funktioniert der Sprung in die weitere Batch nach dem Schließen von Excel nicht.
Was mache ich falsch?
@echo off
start test.xlsx
timeout /T 3
:Start
tasklist /FI "IMAGENAME eq excel.exe" 2>NUL | find /I /N "excel">NUL
if "%ERRORLEVEL%"=="1" taskkill /F /IM (goto :Ende) else (goto :Start)
timeout /T 3
goto :Start
:Ende
echo Excel wurde beendet! Weiter mit diesem Batch ...
pause
exit
Gruß okidoki
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 618492
Url: https://administrator.de/forum/batch-timeout-nach-externem-programmende-batch-fortfuehren-618492.html
Ausgedruckt am: 22.12.2024 um 18:12 Uhr
15 Kommentare
Neuester Kommentar
Wenn du es unbedingt so machen willst (warum auch immer so aufwendig)
Einfacher geht es mit einem Einzeiler :
@echo off
start test.xlsx
timeout /T 3
:Start
tasklist /FI "IMAGENAME eq excel.exe" | findstr /ilc:"excel.exe" >NUL 2>&1 || goto Ende
timeout /T 3
goto :Start
:Ende
echo Excel wurde beendet! Weiter mit diesem Batch ...
pause
exit
start "" /wait test.xlsx
echo Hier geht's weiter
Zitat von @OKIDOKI:
Vorher hatte ich das sehr lange mit Wait. Allerdings ist der Zeitraum, bis die Batch das Ende eines externen Programms erkennt sehr laaaang.
Geht hier instant und wesentlich schneller als jedes mal 3 Sekunden zu verschwenden ... Hattest du bei dir wohl entweder nen Fehler in der Batch eingebaut, oder das Excel-Dokument hatte einen Fehler und der Prozess blieb nach dem Schließen im Hintergrund hängen.Vorher hatte ich das sehr lange mit Wait. Allerdings ist der Zeitraum, bis die Batch das Ende eines externen Programms erkennt sehr laaaang.
Zitat von @OKIDOKI:
... jetzt muss ich doch noch einmal nachhaken, da auch deine lange Lösung hängt - leider - es hängt bei folgender Meldung:
Hast du eine Idee?
Nö das ist nicht Teil des Skriptes oben, also Glaskugel ....... jetzt muss ich doch noch einmal nachhaken, da auch deine lange Lösung hängt - leider - es hängt bei folgender Meldung:
> test.xlsx wird zur Extrahierungswarteschlange hinzugefügt
> Dateien werden erweitert ....
> Erweitern der Dateien ist abgeschlossen ...
>
Hast du eine Idee?
Das ist für einen Titel, wenn man die weglässt kann es sonst in ein paar Fällen zu Problemen kommen, einfach mal start /? eintippen dann siehst du das es ein "mandatory" Parameter ist.
So oder so dauert es lange, bis der Batch weiterläuft ...
Kennt keiner deine Umgebung und oder Skript hier und was deine Excel Datei sonst so macht etc. pp ...
Hab ich hier nirgendwo, aktuellstes Office 2019 Pro Plus auf 20H2. Die Meldung kommt eigentlich nur wenn man Office Updates installiert bzw. CAB Dateien extrahiert, dein Office wird also hier versuchen sich selbst zu aktualisieren. Also aktualisiere es erst mal vorher anständig dann werden diese Meldungen auch nicht mehr kommen!
Vorher wird tatsächlich eine CAB extrahiert und die daraus extrahierte *.xlsx wird geöffnet!
Sach ich doch, Dinge die hier keiner sehen konnte ....dann dauert es ewig, bis die Batch weiterläuft, währenddessen auf der Console:
Dein Schlangenöl wohl am scannen ...