-pzyco-
Goto Top

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:

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

Content-Key: 157274

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

Printed on: April 19, 2024 at 10:04 o'clock

Mitglied: 60730
60730 Dec 19, 2010 at 21:59:04 (UTC)
Goto Top
moin,

for /f %quellordner% %%i in (*.jpg) do (
ich vermute mal - das /f gehört eigentlich woanders hin - denn die Logik kenn ich nur mit /r

for /r %quellordner% %%i in (*.jpg) do (

In Ordner "sortiere" ist auch etwas falsch, in Ordner verschieben (und da PCs nur English können) - move face-wink

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ß
Member: bastla
bastla Dec 19, 2010 at 22:01:22 (UTC)
Goto Top
Hallo -PzYcO-!

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
Wenn Du stattdessen den Dateinamen (nach Deiner Vorlage) heranziehen willst:
@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
Beide Ansätze ungetestet, daher vielleicht besser vor dem "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]
Member: -PzYcO-
-PzYcO- Dec 19, 2010 at 22:14:09 (UTC)
Goto Top
Danke euch für die schnelle Hilfe.

Bastla, dein Ansatz gefällt mir gut aber leider besteht der Dateiname nicht nur aus YYYY-MM-DD_HH-MM-SS sondern daran hängt noch der ursprüngliche Dateiname wie die Bilder von der Kamera kommen.
Ist es trotzdem möglich den Dateinamen so zu beschneiden, dass alle Bilder eines Tages in einen Ordner verschoben werden und nicht jedes Bild in einen eigenen?
Member: bastla
bastla Dec 19, 2010 at 22:18:35 (UTC)
Goto Top
Hallo -PzYcO-!

Ich hatte nicht genau genug geschaut und daher den "_" zwischen Datum und Uhrzeit als Leerzeichen interpretiert - ich bessere oben nach ...

Grüße
bastla
Member: -PzYcO-
-PzYcO- Dec 19, 2010 at 22:22:11 (UTC)
Goto Top
Bastla, ich danke dir.
Alles funktioniert einwandfrei.