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-Key: 236572

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

Printed on: April 26, 2024 at 06:04 o'clock

Member: rubberman
rubberman Apr 27, 2014 updated at 17:03:47 (UTC)
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
Member: bastla
bastla Apr 27, 2014 updated at 18:05:20 (UTC)
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
Member: rubberman
rubberman Apr 27, 2014 at 18:38:09 (UTC)
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
Member: bastla
bastla Apr 27, 2014 at 21:11:25 (UTC)
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
Mitglied: 103148
103148 Apr 29, 2014 updated at 16:17:30 (UTC)
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....
Member: bastla
bastla Apr 29, 2014 at 18:14:02 (UTC)
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
Mitglied: 103148
103148 May 02, 2014 updated at 13:35:49 (UTC)
Goto Top
so kann jetzt testen.....

die Batch blinkt kurz auf.... werden Unterordner durchsucht? Das wäre ne feine Sache!
Mitglied: 103148
103148 May 02, 2014 at 13:35:25 (UTC)
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\"
)
)
Member: bastla
bastla May 02, 2014 updated at 14:19:12 (UTC)
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
Mitglied: 103148
103148 May 02, 2014 updated at 15:06:15 (UTC)
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... )
Member: bastla
bastla May 02, 2014 at 16:54:13 (UTC)
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.
Mitglied: 103148
103148 May 06, 2014 at 11:24:22 (UTC)
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.
Member: rubberman
rubberman May 06, 2014 at 20:08:41 (UTC)
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
Member: bastla
bastla May 06, 2014 at 20:15:44 (UTC)
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
Mitglied: 103148
103148 Jun 28, 2014 at 08:28:58 (UTC)
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
Member: bastla
bastla Jun 28, 2014 at 09:45:19 (UTC)
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