ich mehrere Befehle in einer Schleife in einer Batch-Datei wie diese abfeuern wollen:In Windows-Batch-Schleife, wie zu warten, gelaicht Prozesse vor abzuschließen fort
for /l %%x in (20170101,1,20170105) do (
start /wait C:\Progra~1\Amazon\AWSCLI\aws s3 cp s3://bucket1/%%x
s3://bucket2/%%x --recursive
)
#do something else here only when ALL the above commands complete
Wird die Start/warten haben der Effekt des Wartens, bis alle Befehle abgeschlossen sind, bevor zur nächsten Zeile nach der Schleife gewechselt wird?
In der Theorie sollte es aber nach meiner Erfahrung habe ich einige Programme gesehen nicht respektieren die Wartezeit Option. Theoretisch sollten Sie nicht die "START/WAIT" verwenden müssen. Sie können sie entfernen und alles sollte wie vorgesehen funktionieren. Batch-Skripte werden Zeile für Zeile interpretiert. Die nächste Zeile wird erst ausgeführt, wenn die vorherige Zeile abgeschlossen ist. – Squashman
Sie sagen, dass die nächste Schleifeniteration nicht stattfinden wird, bis die vorherige abgeschlossen ist? – EricBlair1984