Batch-Datei für mehrere Unterordner
Hallo Batch-Experten vom Admin-Forum,
bin neu hier und blutiger Anfänger bei der Batchprogrammierung, d.h. ich hab dabei noch nie was mit Variablen und Schleifen gemacht, was ich jetzt wahrscheinlich brauche. Hoffe, ich langweile Euch nicht mit meiner eventuell trivialen Frage, aber ich fand Euer Forum dafür nach langem Suchen als das best geeignete.
Habe seit langem ein schwelendes Problem mit der Sortierung meiner Fotosammlung. Die Fotodateien befinden sich in Jahresordnern und sind mit verschiedenen Fileendungen unsortiert in Unterordnern nach Datum gespeichert.
Das sieht in etwas so aus:

Ich möchte die Dateien innerhalb der Datumsordner nach ihren Fileendungen in weitere Unterordner sortieren.
Dafür hab ich mich bis jetzt mit folgender Batchdatei geholfen:
if exist *.jpg ( md JPEG
copy *.JPG JPEG )
if exist *.CR2 ( md RAW
copy *.CR2 RAW)
if exist *.SRF ( md RAW
copy *.SRF RAW)
if exist *.MOV ( md Movie
copy *.MOV Movie
if exist *.THM copy *.THM Movie)
Exit
Das ergibt dann :

Ich musste aber die Batch jedes mal in das jeweilige Datumsverzeichnis kopieren. Das ging solange gut, wie ich das gleich nach jeder Fotosession erledigt habe. Jetzt sind aber doch einige Jahrgänge liegen geblieben.
Gibt es eine Möglichkeit, das über eine Batchdatei gleich für alle Datumsordner innerhalb eines Jahresordners zu erledigen?
bitte um Nachsicht, falls es so etwas ähnliches schon mal im Forum gab, hab aber nicht gleich was gefunden.
Danke, Jonny
bin neu hier und blutiger Anfänger bei der Batchprogrammierung, d.h. ich hab dabei noch nie was mit Variablen und Schleifen gemacht, was ich jetzt wahrscheinlich brauche. Hoffe, ich langweile Euch nicht mit meiner eventuell trivialen Frage, aber ich fand Euer Forum dafür nach langem Suchen als das best geeignete.
Habe seit langem ein schwelendes Problem mit der Sortierung meiner Fotosammlung. Die Fotodateien befinden sich in Jahresordnern und sind mit verschiedenen Fileendungen unsortiert in Unterordnern nach Datum gespeichert.
Das sieht in etwas so aus:


Ich möchte die Dateien innerhalb der Datumsordner nach ihren Fileendungen in weitere Unterordner sortieren.
Dafür hab ich mich bis jetzt mit folgender Batchdatei geholfen:
if exist *.jpg ( md JPEG
copy *.JPG JPEG )
if exist *.CR2 ( md RAW
copy *.CR2 RAW)
if exist *.SRF ( md RAW
copy *.SRF RAW)
if exist *.MOV ( md Movie
copy *.MOV Movie
if exist *.THM copy *.THM Movie)
Exit
Das ergibt dann :

Ich musste aber die Batch jedes mal in das jeweilige Datumsverzeichnis kopieren. Das ging solange gut, wie ich das gleich nach jeder Fotosession erledigt habe. Jetzt sind aber doch einige Jahrgänge liegen geblieben.
Gibt es eine Möglichkeit, das über eine Batchdatei gleich für alle Datumsordner innerhalb eines Jahresordners zu erledigen?
bitte um Nachsicht, falls es so etwas ähnliches schon mal im Forum gab, hab aber nicht gleich was gefunden.
Danke, Jonny
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 574449
Url: https://administrator.de/forum/batch-datei-fuer-mehrere-unterordner-574449.html
Ausgedruckt am: 29.04.2025 um 17:04 Uhr
5 Kommentare
Neuester Kommentar

@echo off
set "root=D:\Fotos-Ordner"
for /d %%a in ("%root%\*") do (
for /d %%b in ("%%~a\*") do (
for %%d in (JPEG RAW MOVIE) do (if not exist "%%~b\%%~d" (md "%%~b\%%~d"))
copy "%%~b\*.jpg" "%%~b\JPEG" >nul 2>&1
copy "%%~b\*.srf" "%%~b\RAW" >nul 2>&1
copy "%%~b\*.cr2" "%%~b\RAW" >nul 2>&1
copy "%%~b\*.mov" "%%~b\MOVIE" >nul 2>&1
copy "%%~b\*.thm" "%%~b\MOVIE" >nul 2>&1
)
)
bitte um Nachsicht, falls es so etwas ähnliches schon mal im Forum gab, hab aber nicht gleich was gefunden.
Hier werden sie geholfenTutorial zur FOR-Schleife
Musterlösungen: Dateien verschieben abhängig vom Teil des Dateinamens

Ohuuuu ist ja auch soooo schwierig .......nee nee nee das gibt Abzüg