Bilder automatisch sortieren per Batch
Moin,
kann mir jemand bitte verraten, wie ich am besten diese Batch-Datei so umbaue, das sie nach Tagen sortiert?
:: Dies ist eine .bat Datei zum Scannen eines Quellordners nach Dateien mit unterschiedlichem Erstellungsdatum um Sie einheitlich zu sortieren.
:: Diese Dateien werden dann geordnet nach dem Monat Ihrer Erstellung und dem dazugehörigen Jahr in einen seperaten Ordner namens "Akalf" verschoben.
@echo off & Setlocal
:: Festlegen der Variablen für Quell und Zielverzeichniss...
Set "QuellDirFiles=C:Temp*.*"
Set "ZielDirRoot=C:Akalf"
:: Erstellen der Ordner Anhand des Erstellungsdatums aller Dateien...
for %%i in (%QuellDirFiles%) do (
for /f "tokens=2-3 delims=. " %%a in ("%%~ti") do @if not exist "%ZielDirRoot%20%%b\%%a" md "%ZielDirRoot%20%%b\%%a"
)
:: Verschieben dieser Dateien...
for %%i in (%QuellDirFiles%) do @for /f "tokens=2-3 delims=. " %%a in ("%%~ti") do move "%%~fi" "%ZielDirRoot%20%%b\%%a"
Das z.B. alle Bilder vom 10.01.2007 in den Oderner 10.01.2007 kopiert werden.
Dickes Danke schon mal!
Mfg
DaHolle
kann mir jemand bitte verraten, wie ich am besten diese Batch-Datei so umbaue, das sie nach Tagen sortiert?
:: Dies ist eine .bat Datei zum Scannen eines Quellordners nach Dateien mit unterschiedlichem Erstellungsdatum um Sie einheitlich zu sortieren.
:: Diese Dateien werden dann geordnet nach dem Monat Ihrer Erstellung und dem dazugehörigen Jahr in einen seperaten Ordner namens "Akalf" verschoben.
@echo off & Setlocal
:: Festlegen der Variablen für Quell und Zielverzeichniss...
Set "QuellDirFiles=C:Temp*.*"
Set "ZielDirRoot=C:Akalf"
:: Erstellen der Ordner Anhand des Erstellungsdatums aller Dateien...
for %%i in (%QuellDirFiles%) do (
for /f "tokens=2-3 delims=. " %%a in ("%%~ti") do @if not exist "%ZielDirRoot%20%%b\%%a" md "%ZielDirRoot%20%%b\%%a"
)
:: Verschieben dieser Dateien...
for %%i in (%QuellDirFiles%) do @for /f "tokens=2-3 delims=. " %%a in ("%%~ti") do move "%%~fi" "%ZielDirRoot%20%%b\%%a"
Das z.B. alle Bilder vom 10.01.2007 in den Oderner 10.01.2007 kopiert werden.
Dickes Danke schon mal!
Mfg
DaHolle
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 58983
Url: https://administrator.de/contentid/58983
Ausgedruckt am: 25.11.2024 um 06:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo DaHolle!
Das könnte so aussehen:
Falls Du auch (so wie ich) Ordnernamen in der Art von "2007-05-15" übersichtlicher findest, könntest Du folgende Variante versuchen:
Aus Sicherheitsgründen habe ich vor die "md" -bzw "move"-Anweisungen jeweils ein "echo" geschrieben, damit die Anweisungen angezeigt, aber noch nicht ausgeführt werden; wenn's für Dich OK aussieht, einfach die "echo" entfernen ...
Grüße
bastla
Das könnte so aussehen:
@echo off & setlocal
:: Festlegen der Variablen für Quell und Zielverzeichnis...
set "QuellDirFiles=C:\Temp\*.*"
set "ZielDirRoot=C:\Akalf"
: Erstellen der Ordner anhand des Erstellungsdatums aller Dateien...
for %%i in (%QuellDirFiles%) do (
for /f %%a in ("%%~ti") do (
if not exist "%ZielDirRoot%\%%a" <b>echo</b> md "%ZielDirRoot%\%%a"
:: Verschieben dieser Dateien...
<b>echo</b> move "%%~fi" "%ZielDirRoot%\%%a"
)
)
@echo off & setlocal
:: Festlegen der Variablen für Quell und Zielverzeichnis...
set "QuellDirFiles=C:\Temp\*.*"
set "ZielDirRoot=C:\Akalf"
:: Erstellen der Ordner Anhand des Erstellungsdatums aller Dateien...
for %%i in (%QuellDirFiles%) do (
for /f "tokens=1-3 delims=. " %%a in ("%%~ti") do (
if not exist "%ZielDirRoot%\%%c-%%b-%%a" <b>echo</b> md "%ZielDirRoot%\%%c-%%b-%%a"
:: Verschieben dieser Dateien...
<b>echo</b> move "%%~fi" "%ZielDirRoot%\%%c-%%b-%%a"
)
)
Grüße
bastla