thavron
Goto Top

Prograam starten in Batchdatei und auf dessen Ende warten

Hallo!

Ich habe folgendes Problem:

In einer Batchdatei unter WindowsXP soll ein Win32-Programm gestartet werden mit dem eine Datei bearbeitet wird.
Nach dessen Beendigung soll dann die Batchdatei fortfahren und die Datei zippen.

Leider wartet

start /wait programm.exe

nicht bis programm.exe beendet ist, sondern beginnt sofort nach dem Aufrauf mit dem zippen.

Wie kann ich das Problem anders loesen?

MfG, Markus Zoeller

Content-ID: 15374

Url: https://administrator.de/forum/prograam-starten-in-batchdatei-und-auf-dessen-ende-warten-15374.html

Ausgedruckt am: 23.12.2024 um 15:12 Uhr

traced82
traced82 02.09.2005 um 15:47:59 Uhr
Goto Top
Hi,

vielleicht in der Batch mit "call programm.exe" und danach weiter?

MfG
Basti
thavron
thavron 02.09.2005 um 15:55:14 Uhr
Goto Top
Hallo,

leider nein: call hat keine Option wie wait...

MfG, Markus
Biber
Biber 02.09.2005 um 16:19:08 Uhr
Goto Top
Hmm, thavron,

hab ich auch noch nie probiert. Nach der Hilfe ( "start /?") hast Du alles richtig gemacht. Da steht ja:
Wird eine grafische 32-Bit-Anwendung aufgerufen, wartet CMD.EXE nicht auf
das Beenden dieser Anwendung, sondern kehrt sofort zur Eingabeauforderung
zurück. Das gilt NICHT, wenn diese Anwendung aus einem Befehlsskript
heraus aufgerufen wird.

Diese merkwürdige doppelte Verneinung hätte ich auch so verstanden, dass in einem Batch gewartet wird. Wenn das aber nicht so ist, würde ich folgende Strategie wählen, ehe ich lange rumgoogele (wenn Du wenigstens in der *.bat-Datei weißt, auf was du wartest) :

(im Batch)
set /a ThisLoop=0
set TheInputForMyZipFile=d:\daten\vom\WindowsProggi\DATA.xyz
... Start /.. x:\Mein\WindowsProggi.exe

:waitForTheFilesToZip

if exist %TheInputForMyZipFile% goto machweiter
if %Thisloop%==10 goto givingUp
timeOut 3 (oder "sleep 3" oder "ping localhost -n3".... also 3 sec warten)
set /a Thisloop=%Thisloop% +1
goto waitForTheFilesToZip


:givingUp
echo "Fehler: WindowsProggi.exe hat sich nach 30 sec nicht zurückgemeldet!"
goto :eof

:machWeiter
(weitere CMD-Befehle)

Soweit die Skizze. Falls Du mal rausfindest, wieso sich der "Start /wait" nicht an die die Doku hält (so wie ich sie verstehe), poste das mal bitte.
HTH
Frank / der Biber aus Bremen

[edit]
Oder natürlich- ist mir grad eingefallen- in der "laufenden Prozessliste" nachsehen, ob das Windowsproggi noch drinsteht. Wenn ja-->warten.
Wenn fertig, dann alles z'sam-zippen. [/edit]
thavron
thavron 02.09.2005 um 16:35:37 Uhr
Goto Top
Hallo!

Ich habe es mit einem zweiten Skript probiert in dem nur das Programm aufgerufen wird und das vom ersten Skript mit start aufgerufen wird. Da beißt sich Katze aber in den Schwanz: wenn das zweite beendet sich ja auch sofort und hält nur noch das Prombtfenster offen. Auf dessen Beendigung wartet das erste Skript brav - mit einer manuellen Abfrage. Dann kann ich auch gleich die Datei aufrufen und danach das Skribt starten...

Aber ich werde Deinen Vorschlag mal verfolgen. Mit ein paar umbauten (die Datei ist vorher schon vorhanden, soll nur überarbeotet werden) müsste das klappen.

Danke!

MfG, Markus
Biber
Biber 02.09.2005 um 17:07:34 Uhr
Goto Top
@Markus
*gg ..die Idee, die Du hattest, hatte ich auch - aber ich hab sie nach dem theoretischen Durchspielen als nicht erfolgversprechend verworfen.. kann nicht klappen, wenn sich "start" so verhält wie von dir beobachtet.

Aber die M$-Doku hättest Du doch auch so interpretiert wie ich - oder sind nur wir beide zu doof zum Lesen?
Hat zufällig jemand die Original-Hilfe auf ausländisch? Ist das ein Übersetzungsfehler?
thavron
thavron 03.09.2005 um 18:42:43 Uhr
Goto Top
Moin!

Ich habe ein englisches XP und ich habe es auch so interpretiert. Ich wollte mal shen, was den genau passiert: laufen die scripts so durch oder bleibt ein doch stehen? Tatsächlich: das 1. script wartet darauf, dass man das Fenster des 2. schließt...

Ich habe mich noch gar nicht VBS auseinandergesetzt, aber damit soll es wohl auch mit 32bit-Anwendungen gehen.
Mal sehen wieviel Zeit ich aufbringen kann.

MfG, Markus Zoeller
Biber
Biber 20.09.2005, aktualisiert am 17.10.2012 um 15:56:18 Uhr
Goto Top
@thavron
Lies mal Anwendungen nacheinander starten, da geht das Thema aktuell weiter.

Biber