103148
Goto Top

Fotos von SD Card automatisch auf Festplatte sortieren

Hallo,

ich möchte von meiner SD Karte die Fotos mit einer kleinen Batch automatisch sortieren.

Das Datum vom Foto soll in einem Ordner erstellt werden.

Spricht alle Fotos vom 27.04.2014 in einen Ordner 2014_04_27 und so weiter.

Idel ich geben den Ordner von wo die Fotos liegen und die Batch sortiert alles in den "Datumsordner"....?

BS Windows 7, gesucht von SD Karte oder halt vom Ordner den ich vorgebe zb d:\fotos

Content-ID: 236572

Url: https://administrator.de/forum/fotos-von-sd-card-automatisch-auf-festplatte-sortieren-236572.html

Ausgedruckt am: 08.04.2025 um 06:04 Uhr

rubberman
rubberman 27.04.2014 aktualisiert um 19:03:47 Uhr
Goto Top
Hallo angebissener-apfel,

sollte etwa so funktionieren:
@echo off &setlocal
for /r "d:\fotos" %%i in (*.jpg) do (  
  for /f "tokens=1-3 delims=. " %%j in ("%%~ti") do (  
    2>nul md %%l_%%k_%%j
    copy "%%~i" "%%l_%%k_%%j\"  
  )
)
Grüße
rubberman
bastla
bastla 27.04.2014 aktualisiert um 20:05:20 Uhr
Goto Top
... oder kürzer mit
xcopy "%%i" "%%l_%%k_%%j\"
als Ersatz der Zeilen 4 und 5 - ggf kannst Du für das Ziel auch einen kompletten Pfad der Art
xcopy "%%i" "C:\Fotoarchiv\%%l_%%k_%%j\"
oder
xcopy "%%i" "%userprofile%\Pictures\%%l_%%k_%%j\"
vewenden ...

Grüße
bastla
rubberman
rubberman 27.04.2014 um 20:38:09 Uhr
Goto Top
Hallo bastla,

eigentlich eine gute Idee den Code zu verkürzen. Allerdings habe ich oben ganz bewusst auf XCOPY verzichtet. Durch den Aufruf eines externen Tools für jede Datei, dauert das Kopieren ca. fünfmal länger als die Kombination der beiden internen Befehle MD und COPY. Bei nur ein paar Bildern spielt das keine Rolle, bei ganzen Fotoarchiven könnte das anders aussehen. Ist aber Geschmackssache, da der Batchcode ebenso gut im Hintergrund laufen könnte, während man andere Dinge erledigt face-wink

Grüße
rubberman
bastla
bastla 27.04.2014 um 23:11:25 Uhr
Goto Top
Hallo rubberman!

Wo Du Recht hast, hast Du Recht. face-smile

Bei kurzen Tests mit 908 im Durchschnitt etwa 1 MB großen Bildern brauchte auf meinem (nicht ganz taufrischen face-wink) System die "xcopy"-Variante etwa 0,02 bis 0,03 Sekunden pro Bild länger - bei Tausenden von Bildern läppert sich das schon zu ein paar Minuten zusammen ...

Grüße
bastla
103148
103148 29.04.2014 aktualisiert um 18:17:30 Uhr
Goto Top
ähm, noch ungetestet, werden die in Ordner kopiert mit dem erstelltem Datum.....????

kl edit ich würde gerne den Ordner angeben wo sie liegen und wo sie ihn müssten....
bastla
bastla 29.04.2014 um 20:14:02 Uhr
Goto Top
Hallo angebissener-apfel!
werden die in Ordner kopiert mit dem erstelltem Datum.....????
War es nicht das, was Du wolltest? Konkret wird das Änderungsdatum der Datei verwendet, um den Zielordner festzulegen.
ich würde gerne den Ordner angeben wo sie liegen und wo sie ihn müssten....
Wie hast Du denn "d:\fotos" und "C:\Fotoarchiv" in den Batch-Ansätzen interpretiert? face-wink

Grüße
bastla
103148
103148 02.05.2014 aktualisiert um 15:35:49 Uhr
Goto Top
so kann jetzt testen.....

die Batch blinkt kurz auf.... werden Unterordner durchsucht? Das wäre ne feine Sache!
103148
103148 02.05.2014 um 15:35:25 Uhr
Goto Top
die Ordner sind alle leer.....

@echo off &setlocal
for /r "F:\DCIM\100CANON" %%i in (*.jpg) do (
for /f "tokens=1-3 delims=. " %%j in ("%%~ti") do (
2>nul md %%l_%%k_%%j
xcopy "%%i" "C:\Fotoarchiv\%%l_%%k_%%j\"
)
)
bastla
bastla 02.05.2014 aktualisiert um 16:19:12 Uhr
Goto Top
Hallo angebissener-apfel!

Vorweg: Verwende bitte für das Posten von Code die passende Formatierung ...
Wenn Du in Zeile 1 echo off auf echo on änderst und am Ende eine Zeile
pause
hinzufügst, kannst Du sehen, was der Batch macht (oder auch nicht).
die Ordner sind alle leer.....
Wo suchst Du denn diese Ordner - dadurch, dass Du die beiden Batchansätze (md und copy vs nur xcopy) vermischt hast, werden vermutlich 2 Ordnerstrukturen erstellt; eine unterhalb des Ordners, in dem der Batch gespeichert ist, und eine unterhalb von "C:\Fotoarchiv" - in letzterer sollten sich die Bilder befinden.
werden Unterordner durchsucht?
Yep.

Grüße
bastla
103148
103148 02.05.2014 aktualisiert um 17:06:15 Uhr
Goto Top
okay, also es wurde zusätzlich auch Ordner auf dem Desktop anleget, dort habe ich die Batch abgelegt.
Das hatte mich gewundert, aber es wurden alle Fotos auf c:\fotoarchive gespeichert, saubere Arbeit... ( bis auf die Ordner auf dem Desktop... )
bastla
bastla 02.05.2014 um 18:54:13 Uhr
Goto Top
Hallo angebissener-apfel!
saubere Arbeit... ( bis auf die Ordner auf dem Desktop... )
Hinsichtlich
als Ersatz der Zeilen 4 und 5 - ggf kannst Du für das Ziel auch einen kompletten Pfad der Art
stellt sich die Frage, wem der unsaubere Teil der Arbeit anzulasten wäre ...

Grüße
bastla

P.S.: Saubere "Code"-Formatierung lässt sich auch im Nachhinein durchführen.
103148
103148 06.05.2014 um 13:24:22 Uhr
Goto Top
okay, Fehler gesehen...

werde weiter testen.

Mal gefragt, kann man das Erstelldatum des Ordners vom den zu kopierenden Fotos anpassen?

Wenn die Batch ein zweites mal läuft, kann sie sich das merken, was sie schon durchsucht hat?

Beim xcopy möchte er überschreiben... ja, nein oder alle.
rubberman
rubberman 06.05.2014 um 22:08:41 Uhr
Goto Top
Hallo angebissener-apfel.

Mal gefragt, kann man das Erstelldatum des Ordners vom den zu kopierenden Fotos anpassen?
face-surprise Was meinst du? Das Erstellungsdatum in den Eigenschaften des Ordners?

Wenn die Batch ein zweites mal läuft, kann sie sich das merken, was sie schon durchsucht hat?
Nein. Batchdateien leiden an chronischer Amnesie.

Beim xcopy möchte er überschreiben... ja, nein oder alle.
Und was möchtest du? Ja, nein oder alle?
Für Ja gibt es die Option /y, für Nein gäbe es das Workaround
echo n|xcopy ...

Grüße
rubberman
bastla
bastla 06.05.2014 um 22:15:44 Uhr
Goto Top
... und dann gäbe es auch noch
xcopy /dy
Wenn die Batch ein zweites mal läuft, kann sie sich das merken, was sie schon durchsucht hat?
Wenn dem xcopy noch ein /m spendiert wird ...

Grüße
bastla
103148
103148 28.06.2014 um 10:28:58 Uhr
Goto Top
Hallo...

ich habe noch mal getestet.... aber setze ich ein /m

also

xcopy "%%i" "C:\Fotoarchiv\%%l_%%k_%%j\" /m

erst kopiert er viele 0 Datein kopiert, sicher sich das die schon kopierten und dann fragt er wieder ob er überschreiben soll..... warum
bastla
bastla 28.06.2014 um 11:45:19 Uhr
Goto Top
Hallo angebissener-apfel!
... fragt er wieder ob er überschreiben soll..... warum
Das "Warum" lässt sich ohne Informationen über Deine Dateien nicht beantworten - die Frage aber mit "/y" (bzw kombiniert "/my") verhindern ...

Grüße
bastla