Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Fotos von SD Card automatisch auf Festplatte sortieren

Frage Entwicklung Batch & Shell

Mitglied: 103148

103148 (Level 1)

27.04.2014, aktualisiert 16:33 Uhr, 2709 Aufrufe, 16 Kommentare

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



Mitglied: rubberman
27.04.2014, aktualisiert um 19:03 Uhr
Hallo angebissener-apfel,

sollte etwa so funktionieren:
01.
@echo off &setlocal 
02.
for /r "d:\fotos" %%i in (*.jpg) do ( 
03.
  for /f "tokens=1-3 delims=. " %%j in ("%%~ti") do ( 
04.
    2>nul md %%l_%%k_%%j 
05.
    copy "%%~i" "%%l_%%k_%%j\" 
06.
07.
)
Grüße
rubberman
Bitte warten ..
Mitglied: bastla
27.04.2014, aktualisiert um 20:05 Uhr
... 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
Bitte warten ..
Mitglied: rubberman
27.04.2014 um 20:38 Uhr
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

Grüße
rubberman
Bitte warten ..
Mitglied: bastla
27.04.2014 um 23:11 Uhr
Hallo rubberman!

Wo Du Recht hast, hast Du Recht.

Bei kurzen Tests mit 908 im Durchschnitt etwa 1 MB großen Bildern brauchte auf meinem (nicht ganz taufrischen ) 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
Bitte warten ..
Mitglied: 103148
29.04.2014, aktualisiert um 18:17 Uhr
ä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....
Bitte warten ..
Mitglied: bastla
29.04.2014 um 20:14 Uhr
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?

Grüße
bastla
Bitte warten ..
Mitglied: 103148
02.05.2014, aktualisiert um 15:35 Uhr
so kann jetzt testen.....

die Batch blinkt kurz auf.... werden Unterordner durchsucht? Das wäre ne feine Sache!
Bitte warten ..
Mitglied: 103148
02.05.2014 um 15:35 Uhr
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\"
)
)
Bitte warten ..
Mitglied: bastla
02.05.2014, aktualisiert um 16:19 Uhr
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
Bitte warten ..
Mitglied: 103148
02.05.2014, aktualisiert um 17:06 Uhr
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... )
Bitte warten ..
Mitglied: bastla
02.05.2014 um 18:54 Uhr
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.
Bitte warten ..
Mitglied: 103148
06.05.2014 um 13:24 Uhr
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.
Bitte warten ..
Mitglied: rubberman
06.05.2014 um 22:08 Uhr
Hallo angebissener-apfel.

Mal gefragt, kann man das Erstelldatum des Ordners vom den zu kopierenden Fotos anpassen?
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
Bitte warten ..
Mitglied: bastla
06.05.2014 um 22:15 Uhr
... 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
Bitte warten ..
Mitglied: 103148
28.06.2014 um 10:28 Uhr
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
Bitte warten ..
Mitglied: bastla
28.06.2014 um 11:45 Uhr
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
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
IDE & Editoren
USB STICK Datei AUTOMATISCH beim anschliessen auf fremden PC öffnen (9)

Frage von Jwanner83 zum Thema IDE & Editoren ...

Windows Server
gelöst Wo ist der Speicherplatz hin? Festplatte voll, aber womit? Windows Server 2012R2 (9)

Frage von Andinistrator1 zum Thema Windows Server ...

Benchmarks
gelöst Unterschied zwischen +12V und 12V Netzteil für Festplatte (9)

Frage von FelixW zum Thema Benchmarks ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...