Ich versuche gerade, ein .cmd Windows Shell-Skript zu schreiben, das über eine Reihe von Ordnern iterieren würde. Aber auch die folgende einfachste Skript:Wie kann ich über einen Satz von Ordnern in Windows Shell iterieren?
echo "%ROOT%"
for %%f in ("%ROOT%\Binaries\") do (
echo "%%f"
if not exist "%%f\Subfolder"
md "%%f\Subfolder"
)
Ausgänge:
CurrentDir>echo "<ActualPathToRoot>"
"<ActualPathToRoot>"
%f\Subfolder was unexpected at this time
CurrentDir>if exists "%f\Subfolder"
Was mache ich falsch? Wie ändere ich dieses Skript, so dass es über diesen einen Ordner iteriert und sobald er sieht, dass es keinen Unterordner namens "Unterordner" gibt, erstellt er diesen Unterordner? Gibt es auch ein gutes Tutorial zum Schreiben solcher Skripte?
Sollte es alles auf einer einzigen Zeile sein? – sharptooth
Ja. Zumindest in meiner Version hat es so funktioniert. Vielleicht gibt es jetzt eine Möglichkeit, das in mehreren Zeilen zu machen, aber klassische Batch-Dateien funktionieren so. Und normalerweise würden Leute 'goto' verwenden, um viele Zeilen zu haben. – detunized
Vielen Dank. Das Problem war, dass ich nicht erwartet hatte, dass es sich um Zeilenumbrüche handelte. – sharptooth