Probleme mit dem "Call"-Befehl

TooT

Lieutenant
Registriert
Feb. 2007
Beiträge
524
Hey,
wenn ich in einer Batch einen Call-Befehl einfüge werden die darauffolgenden Befehle einfach übersprungen.

Code:
@echo off
call A:\B\C.bat
call A:\B\D.bat
pause
exit

Bisher hat das immer korrekt funktioniert, heute ist es mir zum ersten mal aufgefallen, dass das nicht mehr funktioniert.
Habt ihr eine Idee wodran das liegen könnte?
"Start / Pause" ist keine Alternative ;)
 
meinst du das alle Befehle die nach "exit" noch ausgeführt werden? Ich würd das "exit" einfach weglassen bzw. wenn es die Dateien aufrufen soll den Befehl am Ende machen....
 
Hey,
das Exit hat gar nichts damit zu tun ;)
Der erste der beiden Call-Befehle wird noch ausgeführt, danach bricht die Batch quasi ab

edit: Hab gerade mal eine Batch zum testen ohne exit erstellt, keine Veränderung ;)
 
hmm soweit ich weiß kann eine batch auch nur einen call befehl ausführen... du könntest ja in die datei die es aufruft schreiben das es deine D.bat ausführen soll. Wobei ich auch mal gedacht hab da könnte man auch irgendwie mit "start" arbeiten indem sich dann ein neues Fenster öffnet und man quasi dann sagt das da der 2. call-Befehl ausgeführt werden soll...
 
Rufe doch in der C.bat als letzten Befehl die D.bat auf, dann benötigst Du den Call Befehl nicht.
 
Das ist eigentlich ne ganz gute Idee, nur benutze ich die C.bat nicht nicht immer mit der D.bat zusammen...
Der Call befehl hat ja auch sonst immer problemlos funktioniert
 
Hi,

trage in die Datei C.bat den Befehl GOTO :EOF am Ende oder nach deinen Script-Befehlen ein.
Dieser Befehl sorgt dafür, das die Batchdatei beendet wird und in der "Original-Batch" der erste Befehl nach dem Call Aufruf abgearbeitet wird, in deinem Fall also der Aufruf der Datei D.bat! :)

Natürlich musst du dann auch in der D.bat das GOTO :EOF reinschreiben, damit er auch von da aus zur originalen Batch zurückfindet.

PCB
 
Zurück
Oben