In einer inneren Batch-Datei goto zur äußeren Batch-Datei aufrufen
-
Ich habe zwei Batch-Dateien von denen die zweite innerhalb der ersten aufgerufen wird.
Ist es möglich, innerhalb der zweiten Datei per goto zu einem Label zu gehen, das sich innerhalb der ersten Datei befindet?
Batch 1:
call Batch2.bat :end
Batch 2:
goto end
Das ganze müste unter der Command Shell in Windows XP und höher funktionieren.
-
Badger schrieb:
Ist es möglich, innerhalb der zweiten Datei per goto zu einem Label zu gehen, das sich innerhalb der ersten Datei befindet?
Ne, wüsste nicht wie.
Wenn du das brauchst, dann pack doch den Inhalt der 2. Batch-Datei mit in die 1. rein.
-
Vielleicht soll die batch2 sowas wie eine funktionsbibliothek sein.
Dann sie anfangen lassen mit
goto %1
-
hustbaer schrieb:
Wenn du das brauchst, dann pack doch den Inhalt der 2. Batch-Datei mit in die 1. rein.
Könnte ein bisschen unübersichtlich werden, vor allem wenn es mehrere Sub-Batches gibt.
Es geht darum, dass ich diverse Sachen mit Dateien mache und wenn eine bestimmte Datei nicht erstellt werden konnte, soll der ganze Vorgang stoppen:
Batch 1:
call Batch2 File1 call Batch2 File2 call Batch2 File3 goto end :error echo An error occured. :end
Batch 2:
echo Processing file %1 bla %1 if not exist %1 goto error
-
Rückgabewerte? Gibt's doch gewiss auch in Windows-Batch.
-
ja, gibts
stattgoto end
einfachexit /b 1
machen.
EDIT: Wobei 1 der gewünschte Exit-Code ist -- kann man natürlich auch jeden anderen nehmen. /EDIT
@Badger
und btw: "end" label muss man nicht selbst machen,goto :eof
funktioniert immer.