Verarbeitungsreihenfolge von Batch-Dateien
Hallo zusammen,
mal eine kleine Frage zur Reihenfolge der Verarbeitung bei Batch-Dateien.
Nehmen wir einal folgendes Beispiel an:
Das Skript läuft über alle Dateien in einem Verzeichnis und ruft für jede Datei die separate Batch "test.bat" auf.
Warum wird die Verarbeitung nach der Schleife abgebrochen? Der Löschbefehl wird nicht ausgeführt. Wenn die Zeile
entfernt wird, läuft auf das Löschen durch.
Kann mir jemand eventuell kurz erklären, warum die Batches sich so verhalten? Da ich immer mal wieder über die Eigenheiten von Batches stolper, wäre vielleicht ein Hinweis auf ein gutes Dokument hilfreich, welches sich mit der Ausführung von Batches beschäftigt.
Greetz
mal eine kleine Frage zur Reihenfolge der Verarbeitung bei Batch-Dateien.
Nehmen wir einal folgendes Beispiel an:
@echo off
set SOURCE=C:\Users\ikke\Desktop\eingang
set DEST=C:\Users\ikke\Desktop\ausgang
for %%i in (%SOURCE%\*.*) do (
test.bat %%i %DEST%
)
del %DEST%\*.xyz
Das Skript läuft über alle Dateien in einem Verzeichnis und ruft für jede Datei die separate Batch "test.bat" auf.
Warum wird die Verarbeitung nach der Schleife abgebrochen? Der Löschbefehl wird nicht ausgeführt. Wenn die Zeile
test.bat %%i %DEST%
Kann mir jemand eventuell kurz erklären, warum die Batches sich so verhalten? Da ich immer mal wieder über die Eigenheiten von Batches stolper, wäre vielleicht ein Hinweis auf ein gutes Dokument hilfreich, welches sich mit der Ausführung von Batches beschäftigt.
Greetz
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 298519
Url: https://administrator.de/contentid/298519
Ausgedruckt am: 25.11.2024 um 21:11 Uhr
2 Kommentare
Neuester Kommentar
Sicher das er alle Batches in der Schleife ausführt?
Beim Aufruf einer Batch direkt in einer Batch wird normalerweise die Ausführung nach der aufgerufenen Batch beendet.
Wenn man das nicht haben will, sondern die erste Batch weiterlaufen soll, muß man die 2. Batch mit CALL aufrufen.
Und die 2. Batch sollte auch kein Exit enthalten.
Beim Aufruf einer Batch direkt in einer Batch wird normalerweise die Ausführung nach der aufgerufenen Batch beendet.
Wenn man das nicht haben will, sondern die erste Batch weiterlaufen soll, muß man die 2. Batch mit CALL aufrufen.
Und die 2. Batch sollte auch kein Exit enthalten.