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
GELÖST

Dateien nach dem Erstellungsdatum in Ordner verschieben

Frage Entwicklung Batch & Shell

Mitglied: kugman

kugman (Level 1) - Jetzt verbinden

10.05.2011, aktualisiert 13:41 Uhr, 9319 Aufrufe, 11 Kommentare

gegeben: 12000 Fotos - alle hübsch in einem Ordner
gesucht: Lösung um per Batch die Bilder entsprechend ihres Erstelldatums in einen eigenen Ordner zu stecken

Hallo zusammen,

habe nach dem Plattencrash meiner Sicherungsplatte(!) für Bilder folgendes Problem. Ich habe zwar alle Bilder wieder, aber die sind nun alle hübsch in einem einzigen Ordner. Meine Ordnerstruktur bisher war z.Bsp:
2011 
  |-Januar 
       | - Bilder vom Januar 
   |-Februar 
       | - Bilder vom Februar 
Mir würde es jetzt fürs erste ja schon reichen, wenn das Batch die Dateien in neue Ordner mit dem Namen YYYY-MM-DD steckt.

kann mir da jemand den richtigen Denkanstoß dazu liefern? Das wäre nett.

Vielen Dank schon mal

liebe Grüße,

Markus

Nachtrag:

ich glaub ich bin zu blöd:

01.
for %i in (e:\gerettet\*.jpg) do @for /f "tokens=1-3 delims=. " %a in ("%~ti") do @xcopy "%~fi" c:\zielordner\%c-%b-%a\ /e /y /i
Das funktioniert wunderbar direkt auf dem CMD - aber ich schaffs nicht, das ganze in der Batch zum laufen zu bekommen. ich weiss schon, dass ich aus %i %%i und aus %a %%a machen muss, aber dennoch funktioniert das nicht.

Any hints?
Mitglied: Skyemugen
10.05.2011 um 13:50 Uhr
Aloha,

also
for %%i in (e:\test\test12\humbug\*.wav) do @for /f "tokens=1-3 delims=. " %%a in ("%%~ti") do @xcopy "%%~fi" c:\zielordner\%%c-%%b-%%a\ /e /y /i
funktioniert bei mir wunderbar ...

hast du bei %~ti und %~fi auch an die doppelten Prozentzeichen gedacht?

greetz André
Bitte warten ..
Mitglied: kugman
10.05.2011 um 13:53 Uhr
habs hinbekommen.


01.
set "quelle=e:\gerettet" 
02.
set "ziel=c:\zielordner" 
03.
 
04.
for %%i in (%quelle%\*.jpg) do @for /f "tokens=1-3 delims=. " %%a in ("%%~ti") do @move "%%~fi" "%ziel%"\%%c-%%b-%%a\
Bitte warten ..
Mitglied: kugman
10.05.2011 um 13:54 Uhr
genau das war der Haken... ich sollte vielleicht mal wieder schlafen...
Bitte warten ..
Mitglied: Skyemugen
10.05.2011 um 13:56 Uhr
Aloha,

moved move eigentlich bei Verzeichnissen, die noch nicht existieren? (xcopy legt die ja an, wenn sie fehlen) ... Was sagt move eigentlich zum "Pfad"\Verzeichnis? ...

greetz André
Bitte warten ..
Mitglied: bastla
10.05.2011, aktualisiert 25.10.2012
@ Skyemugen
Berechtigte Fragen, die ich mit
nein
und
nix weiter (auch wenn ich die Zollzeichen grundsätzlich außenrum anbringe)
beantworten würde ...

Grüße
bastla
Bitte warten ..
Mitglied: Skyemugen
10.05.2011 um 15:24 Uhr
Aloha bastla,

Punkt 1 würde ich auch so beantworten *gg* aber Punkt 2 würde ich widersprechen, zumindest bei Windows 7 hat er sich bei solchen Eigenarten schon anstößig verhalten

aber eigentlich waren die Fragen auch nur für den TE gedacht, um ihn auf diese Dinge aufmerksam zu machen :-P

greetz André
Bitte warten ..
Mitglied: kugman
10.05.2011 um 16:47 Uhr
Hallo Skyemugen

ist angekommen - danke

wen's interessiert:

01.
set "quelle=e:\gerettet"  
02.
set "ziel=c:\zielordner"  
03.
for %%i in (%quelle%\*.jpg) do @for /f "tokens=1-3 delims=. " %%a in ("%%~ti") do ( 
04.
	if not exist "%ziel%"\%%c-%%b-%%a\ md "%ziel%"\%%c-%%b-%%a\ 
05.
	@move "%%~fi" "%ziel%"\%%c-%%b-%%a\ 
06.
	)
Bitte warten ..
Mitglied: mantus
24.10.2011 um 20:12 Uhr
Moin!

Also ich bekomme es so nicht zum laufen.
Hänge dort in der Loop fest und er kopiert nichts.

Wie hat das bei euch geklappt?
Bitte warten ..
Mitglied: bastla
24.10.2011 um 21:44 Uhr
Hallo mantus!

Es wäre hilfreich, wenn Du direkt in der CMD-Shell testest (ein "echo off" vorweg sollte es dabei auch noch nicht geben) und so berichten könntest, welche Anweisung noch wie ausgeführt wird ...

Ansonsten noch eine Variante (da Du ja das Erstellungsdatum verwenden willst):
01.
@echo off & setlocal 
02.
set "quelle=e:\gerettet" 
03.
set "ziel=c:\zielordner" 
04.
set "ext=jpg" 
05.
 
06.
pushd "%quelle%" 
07.
for /f "tokens=1-5* delims=. " %%a in ('dir /tc /-c *.%ext% 2^>nul ^|findstr /i /e "\.%ext%"') do ( 
08.
    echo md "%ziel%\%%c-%%b-%%a" 2>nul 
09.
    echo move "%%f" "%ziel%\%%c-%%b-%%a\" 
10.
11.
popd
Die beiden "echo" in der Schleife sollen ein gefahrloses Testen ermöglichen, da so die entsprechenden "md"- und "move"-Befehle nur angezeigt werden ...

Wenn übrigens auch Unterverzeichnisse mit erfasst werden sollen, dann etwa so:
01.
@echo off & setlocal 
02.
set "quelle=e:\gerettet" 
03.
set "ziel=c:\zielordner" 
04.
set "ext=jpg" 
05.
 
06.
for /f "delims=" %%i in ('dir /s /b /ad "%quelle%"') do ( 
07.
    pushd "%%i" 
08.
    for /f "tokens=1-5* delims=. " %%a in ('dir /tc /-c *.%ext% 2^>nul ^|findstr /i /e "\.%ext%"') do ( 
09.
        echo md "%ziel%\%%c-%%b-%%a" 2>nul 
10.
        echo move "%%f" "%ziel%\%%c-%%b-%%a\" 
11.
12.
    popd 
13.
)
In beiden (ungetesteten) Varianten zu beachten: Gleichnamige Dateien in einem Zielordner werden (bzw würden nach dem Entfernen der "echo") kommentarlos überschrieben!

Grüße
bastla
Bitte warten ..
Mitglied: moltova
22.07.2013 um 09:29 Uhr
Hi, der Beitrag ist zwar schon älter, aber dennoch genau das was ich gerade suche! Dennoch habe ich ein kleines Problem, ich möchte aus einem Bilderordner alle Bilder, automatisch in Ordner nach Datum sortieren lassen. Am liebsten nach dem Monat an dem es aufgenommen worden ist. Würde ja mit den letzten Skripten klappen. Problem ist aber, das der Skript auf das ERSTELLUNGSDATUM zugreift. gibt es eine Möglichkeit: auf das AUFNAHMEDATUM der Datei zuzugreifen?

Ich habe meine Bildersammlung kopiert und dadurch hat sich ja das Erstellungsdatum geändert aber nicht das Aufnahmedatum. Oder geht das nur mit vbs?

Matthias
Bitte warten ..
Mitglied: bastla
22.07.2013 um 21:31 Uhr
Hallo moltova!

Schau Dir mal diesen Beitrag an ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Netzwerk
Dateien und Ordner verschieben mit Rückfrage (1)

Frage von stefts zum Thema Windows Netzwerk ...

Batch & Shell
gelöst Dateien anhand des Namens in neue Ordner verschieben (17)

Frage von Cookiemonster zum Thema Batch & Shell ...

C und C++
Dateien in Ordner kopieren anhand vom Teil eines Dateinamen (22)

Frage von onlyforu8373 zum Thema C und C ...

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

Frage von Xaero1982 zum Thema Microsoft ...

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

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...