Dateien nach dem Erstellungsdatum in Ordner verschieben
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:
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:
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?
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:
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?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 165976
Url: https://administrator.de/forum/dateien-nach-dem-erstellungsdatum-in-ordner-verschieben-165976.html
Ausgedruckt am: 02.02.2025 um 09:02 Uhr
11 Kommentare
Neuester Kommentar
Hallo mantus!
Es wäre hilfreich, wenn Du direkt in der CMD-Shell testest (ein "
Ansonsten noch eine Variante (da Du ja das Erstellungsdatum verwenden willst):
Die beiden "
Wenn übrigens auch Unterverzeichnisse mit erfasst werden sollen, dann etwa so:
In beiden (ungetesteten) Varianten zu beachten: Gleichnamige Dateien in einem Zielordner werden (bzw würden nach dem Entfernen der "
Grüße
bastla
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):
@echo off & setlocal
set "quelle=e:\gerettet"
set "ziel=c:\zielordner"
set "ext=jpg"
pushd "%quelle%"
for /f "tokens=1-5* delims=. " %%a in ('dir /tc /-c *.%ext% 2^>nul ^|findstr /i /e "\.%ext%"') do (
echo md "%ziel%\%%c-%%b-%%a" 2>nul
echo move "%%f" "%ziel%\%%c-%%b-%%a\"
)
popd
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:
@echo off & setlocal
set "quelle=e:\gerettet"
set "ziel=c:\zielordner"
set "ext=jpg"
for /f "delims=" %%i in ('dir /s /b /ad "%quelle%"') do (
pushd "%%i"
for /f "tokens=1-5* delims=. " %%a in ('dir /tc /-c *.%ext% 2^>nul ^|findstr /i /e "\.%ext%"') do (
echo md "%ziel%\%%c-%%b-%%a" 2>nul
echo move "%%f" "%ziel%\%%c-%%b-%%a\"
)
popd
)
echo
") kommentarlos überschrieben!Grüße
bastla
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
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