In einem Hauptordner habe ich 1000 Ordner, die alle einzeln mit einer Teilenummer wie DGTS-9045 benannt sind. In diesem Ordner befinden sich verschiedene Unterordner, von denen einer 24 JPEG-Bilder enthält (für HTML5-Produktrotationssequenzen verwendet).
Wie kopiere ich beispielsweise 6 Bilder, z. B. die Bilder 1, 5, 9, 13, 17 und 21, aus jedem dieser 1000 Unterordner und lege sie in einen anderen Ordner mit dem gleichen Namen wie das Original? Alle Originalordner sind lokal auf dem PC gespeichert, Zielordner müssten über das Skript erstellt werden.
Ich habe es versucht for /d %1 in (*) do for %2 in (1,5,9,13,17, 21) do copy %1\photos\pic%2.jpg %1\newfolder
, aberThe system cannot find the file specified
Wenn sich die Bilder in Unterordnern befinden D:\Pictures\Client Name\2nd Batch, 21st March\Html 5 outputs
und in Ordner in kopiert werden sollen, D:\Pictures\Selected
wie lautet die korrekte Syntax?
Antwort1
Um zu sehen, was das Ergebnis dieser verschachtelten for
Schleifen sein könnte, versuchen Sie (kopieren und in die Befehlszeile einfügen und drücken Sie <Enter>
)
for /d %g in (*) do @for %h in (1,5,9,13,17, 21) do @echo @copy %g\photos\pic%h.jpg %g\newfolder\
Um weitere Informationen zu erhalten: Versuchen Sie for /?
es mitmehr lesenzum for
Befehl, insbesondere zu rekursiven Unterordnern for /R
.
Dann könnten Sie es loswerden, Befehle wirklich @echo
auszuführen ...@copy