rodgerwilco
Goto Top

Verarbeitungsreihenfolge von Batch-Dateien

Hallo zusammen,

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%
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

Content-ID: 298519

Url: https://administrator.de/contentid/298519

Ausgedruckt am: 25.11.2024 um 21:11 Uhr

AndreasHoster
Lösung AndreasHoster 08.03.2016 um 13:51:09 Uhr
Goto Top
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.
rodgerwilco
rodgerwilco 10.03.2016 um 07:47:09 Uhr
Goto Top
Vielen Dank. Das war der richtige Hinweis. Durch den Aufruf mit "CALL" läuft es nun durch und führt alle Batches aus.