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, 2852 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 ..
Ähnliche Inhalte
MikroTik RouterOS
gelöst Mikrotik externe SD Card funktioniert nicht (9)

Frage von sebasscha zum Thema MikroTik RouterOS ...

Entwicklung
Jasper Reports Server 6 Cache automatisch löschen (3)

Frage von Pizzamann zum Thema Entwicklung ...

Speicherkarten
gelöst Raspberry Pi SD-Karte (7)

Frage von Phantomymous zum Thema Speicherkarten ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2012 R2 - Zugriff Verweigert bei jeglicher Tätigkeit (13)

Frage von DarkLevi zum Thema Windows Server ...