killtux 11 Geschrieben 30. April 2007 Melden Teilen Geschrieben 30. April 2007 Hallo, ich habe folgendes Prob: Ich möchte in einer normalen Batch Datei mehrere andere Batches starten. Das dies mit dem Befehl RUN bzw. START geht weiß ich. bsp: run batchA run batchB run batchC ... Jedoch möchte ich dass Batch B erst gestartet wird wenn A fertig ist, ebenso C erst gestartet wird wenn B fertig ist. Ich hab auch schon mit dem start /wait gespielt. Aber es haut nicht hin Weiß wer wie das geht? Zitieren Link zu diesem Kommentar
eXOs 10 Geschrieben 30. April 2007 Melden Teilen Geschrieben 30. April 2007 Hi, nimm mal nicht run sonden call Zitieren Link zu diesem Kommentar
killtux 11 Geschrieben 30. April 2007 Autor Melden Teilen Geschrieben 30. April 2007 sorry ich nehme natürlich CALL und START habe mich "verdenkt" Zitieren Link zu diesem Kommentar
TheDonMiguel 11 Geschrieben 30. April 2007 Melden Teilen Geschrieben 30. April 2007 oder mit VBS: Set WshShell = CreateObject("WScript.Shell") Wscript.Echo "Open Calc..." Run_and_Wait("calc.exe") Wscript.Echo "Open Notepad..." Run_and_Wait("notepad.exe") Function Run_and_Wait (sRunstring) Set oExec = WshShell.Exec(sRunstring) Do While oExec.Status = 0 WScript.Sleep 100 Loop End Function Zitieren Link zu diesem Kommentar
eXOs 10 Geschrieben 30. April 2007 Melden Teilen Geschrieben 30. April 2007 Aber mit Call ruft er doch die andere Batch auf und arbeitet diese ab, danach macht wird erst in der eigentlichen Batch weitergearbeitet, also macht er das der reihe nach, so wie du es willst...dachte ich zumindest und bei mir geht das auch Zitieren Link zu diesem Kommentar
killtux 11 Geschrieben 30. April 2007 Autor Melden Teilen Geschrieben 30. April 2007 Hi, also momentan sieht das so aus: in der "AutomaticInstallation.bat" steht auf gut deutsch: net use R: \\fileserver\installationspfad call R:\install1.bat call R:\install2.bat call R:\install3.bat call R:\install4.exe jedoch darf 2 nicht gestartet werden wenn 1 nicht fertig ist und so weiter. jedoch in dieser folge, startet er alles auf einmal und schließ dann meine "AutomaticInstallation.bat". er sollte aber warten, und das bekomme ich nicht hin. Wenn du das ausprobierst, kann es bei dir auch nicht anders ein. Ich kann natürlich schon ein "pause" reinhängen. Aber dann muss wieder wer drücken und das möchte ich ja nicht. Zitieren Link zu diesem Kommentar
killtux 11 Geschrieben 30. April 2007 Autor Melden Teilen Geschrieben 30. April 2007 Dein Script ist nett. Hilft mir aber auch nicht weiter. Ich muss ja erst wieder "OK" drücken. Er sollte automatisch weitergehen wenn A fertig ist, dann B abarbeiten etc... Wenn es dafür eigene Exe dateien zwecks commandoheilen tools gibt etc. dann ist mir das recht, die kopier ich halt vorher mit einem andren sript auf den rechner. aber irgendwie komme ich so nicht weiter wies jetzt ist... oder mit VBS: Zitieren Link zu diesem Kommentar
Hirgelzwift 10 Geschrieben 30. April 2007 Melden Teilen Geschrieben 30. April 2007 also normalerweise sollte das mit start /wait gut klappen aber eben nur solange es bei batchbefehlen bleibt. wenn du in der install1.bat evtl. ein MSI aufrufst zum installieren dann übergibt install1.bat an den MS installer und meldet: ich bin fertig, dann wird daher install2.bat aufgerufen und da wird es zur kollision kommen. wie gesagt, ich gehe von diesem szenario aus, nähere angaben hab ich ja keine. Zitieren Link zu diesem Kommentar
eXOs 10 Geschrieben 30. April 2007 Melden Teilen Geschrieben 30. April 2007 also normalerweise sollte das mit start /wait gut klappen aber eben nur solange es bei batchbefehlen bleibt. wenn du in der install1.bat evtl. ein MSI aufrufst zum installieren dann übergibt install1.bat an den MS installer und meldet: ich bin fertig, dann wird daher install2.bat aufgerufen und da wird es zur kollision kommen. wie gesagt, ich gehe von diesem szenario aus, nähere angaben hab ich ja keine. Klar, das könnte der grund sein warum das mit meiner Batch geht und mit deiner nicht. Wenn Batch1 abgearbeitet ist, ist auch alles erledigt was da pasieren soll und dann kommt wieder die ursprüngklicht Batch und startet Batch2 Zitieren Link zu diesem Kommentar
killtux 11 Geschrieben 30. April 2007 Autor Melden Teilen Geschrieben 30. April 2007 so, jetzt hab ich mir so beholfen start /wait cmd /c batchA start /wait cmd /c batchB start /wait cmd /c batchC so gehts. nur zur info. So komm ich weiter, das geht. Bei dem Batches funktioniert es, das eine batch das eine exe aufruft leider nicht. hier habe ich mir halt ein set /p antwortja="Ist die Installation Fertig J (Ja) N (nein): " und dann if "%antwortja%"=="J" (GOTO installScriptC) ELSE (GOTO fragescriptb) so hab ich mir beholfen, zwar nicht vollautomatisch aber immerhin hab ich mir dadurch 8 schritte gespart. danke Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.