Mehrere Ordner per Batch erstellen
Hallo liebe Administrator-Gemeinde,
folgenden Ausgangssituation:
In einem Ordner laufen täglich etliche Dateien mit dem gleichen Namensmuster auf: YYYY-MM-DD_HH-MM-SS.jpg
Nun müssen die Bilder in entsprechende Tagesordner (YYYY-MM-DD) sortiert werden.
Leider scheint mein bisheriger Codeschnipsel zum Ordner erstellen nicht zu funktionieren:
Außerdem bin ich mir noch nicht sicher wie ich die Bilder anschließend in die entsprechenden Ordner sortiere.
Ich hoffe ihr könnt mir weiterhelfen...
folgenden Ausgangssituation:
In einem Ordner laufen täglich etliche Dateien mit dem gleichen Namensmuster auf: YYYY-MM-DD_HH-MM-SS.jpg
Nun müssen die Bilder in entsprechende Tagesordner (YYYY-MM-DD) sortiert werden.
Leider scheint mein bisheriger Codeschnipsel zum Ordner erstellen nicht zu funktionieren:
for /f %quellordner% %%i in (*.jpg) do (
if not exist %i:~1,10% md %i:~1,10%
)
Außerdem bin ich mir noch nicht sicher wie ich die Bilder anschließend in die entsprechenden Ordner sortiere.
Ich hoffe ihr könnt mir weiterhelfen...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 157274
Url: https://administrator.de/contentid/157274
Ausgedruckt am: 05.11.2024 um 19:11 Uhr
5 Kommentare
Neuester Kommentar
moin,
In Ordner "sortiere" ist auch etwas falsch, in Ordner verschieben (und da PCs nur English können) - move
Du hast also innerhalb der Schleife für jeden Treffer kurzfristig die Variable %i definiert.
Ergo: statt die Schleife wieder zu beenden -
Gruß
for /f %quellordner% %%i in (*.jpg) do (
ich vermute mal - das /f gehört eigentlich woanders hin - denn die Logik kenn ich nur mit /rfor /r %quellordner% %%i in (*.jpg) do (
In Ordner "sortiere" ist auch etwas falsch, in Ordner verschieben (und da PCs nur English können) - move
Du hast also innerhalb der Schleife für jeden Treffer kurzfristig die Variable %i definiert.
Ergo: statt die Schleife wieder zu beenden -
3. move %%i %i:~1,10%\
wäre ein Versuch wert.Gruß
Hallo -PzYcO-!
Auf Basis des Dateidatums etwa so:
Wenn Du stattdessen den Dateinamen (nach Deiner Vorlage) heranziehen willst:
Beide Ansätze ungetestet, daher vielleicht besser vor dem "
Grüße
bastla
P.S.: Substrings können nicht von Schleifenvariablen gebildet werden ...
[Edit] Delimiter "_" nachgetragen [/Edit]
Auf Basis des Dateidatums etwa so:
@echo off & setlocal
set "quellordner=D:\"
pushd "%quellordner%"
for %%i in (*.jpg) do (
for /f "tokens=1-3 delims=. " %%a in ("%%~ti") do (
md "%%c-%%b-%%a" 2>nul
move "%%i" "%%c-%%b-%%a\"
)
)
popd
@echo off & setlocal
set "quellordner=D:\"
pushd "%quellordner%"
for %%i in (*.jpg) do (
for /f "delims=_" %%a in ("%%~ni") do (
md "%%a" 2>nul
move "%%i" "%%a\"
)
)
popd
move
" noch ein "echo
" verwenden, um sich die Verschiebebefehle vorweg einmal ansehen zu können ...Grüße
bastla
P.S.: Substrings können nicht von Schleifenvariablen gebildet werden ...
[Edit] Delimiter "_" nachgetragen [/Edit]