Ordnerstruktur automatisch erstellen mit Dateinamen
Ich habe ca. 400 Dateien die folgendermaßen aufgebaut sind
1342-114_Elchinger_Versicherungen_Vertragvom30.01.2019.pdf
Nun möchte ich, dass aus den Dateinamen eine Ordnerstruktur erstellt wird.
Die "Doc-Nr" und "Kundennummer" brauche ich nicht, kann also weggelassen werden.
Es soll der Ordner: Elchinger erstellt werden
Unterordner: Versicherung erstellt werden
und die Datei (pdf oder xls- Datei) in diesen Ordner verschoben werden
Da ich die ca. 400 Dateien immer wieder neu exportiert bekomme.
Würde ich das gerne immer wieder alles löschen und neu aufbauen, da sich die Dateien im Namen oder in der Zuordnung ändern.
Hat jemand dazu ein Batch-Skript zur Hand ? Ich kann leider nicht programmieren...
1342-114_Elchinger_Versicherungen_Vertragvom30.01.2019.pdf
Nun möchte ich, dass aus den Dateinamen eine Ordnerstruktur erstellt wird.
Die "Doc-Nr" und "Kundennummer" brauche ich nicht, kann also weggelassen werden.
Es soll der Ordner: Elchinger erstellt werden
Unterordner: Versicherung erstellt werden
und die Datei (pdf oder xls- Datei) in diesen Ordner verschoben werden
Da ich die ca. 400 Dateien immer wieder neu exportiert bekomme.
Würde ich das gerne immer wieder alles löschen und neu aufbauen, da sich die Dateien im Namen oder in der Zuordnung ändern.
Hat jemand dazu ein Batch-Skript zur Hand ? Ich kann leider nicht programmieren...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1226598804
Url: https://administrator.de/forum/ordnerstruktur-automatisch-erstellen-mit-dateinamen-1226598804.html
Ausgedruckt am: 04.05.2025 um 04:05 Uhr
11 Kommentare
Neuester Kommentar

Man hätte auch einfach mal hier rein schauen können, das kommt hier täglich ...
Musterlösungen: Dateien verschieben abhängig vom Teil des Dateinamens
Musterlösungen: Dateien verschieben abhängig vom Teil des Dateinamens
@echo off
set "root=D:\Ordner"
for %%a in ("%root%\*.pdf") do (
for /f "tokens=2,3 delims=_" %%b in ("%%~na") do (
md "%root%\%%b\%%c" >nul 2>&1
move "%%a" "%root%\%%b\%%c\"
)
)

Zitat von @Ollenhauer:
Danke, das funktioniert sehr gut !! -)))
Wäre es möglich, dass beim Verschieben der Dateien in die Ordner der Dateiname mit geändert wird
und zwar in "Doc-Nr"_"Bezeichnung"
im o.g. Beispiel: 1342_Versicherungen_Vertragvom30.01.2019.pdf
Danke, das funktioniert sehr gut !! -)))
Wäre es möglich, dass beim Verschieben der Dateien in die Ordner der Dateiname mit geändert wird
und zwar in "Doc-Nr"_"Bezeichnung"
im o.g. Beispiel: 1342_Versicherungen_Vertragvom30.01.2019.pdf
Jepp
@echo off
set "root=D:\Ordner"
for %%a in ("%root%\*.pdf") do (
for /f "tokens=1-5 delims=_-" %%b in ("%%~nxa") do (
md "%root%\%%d\%%e" >nul 2>&1
move "%%a" "%root%\%%d\%%e\%%b_%%e_%%f"
)
)

Zitat von @Ollenhauer:
Ne, das klappt leider nicht.
Am obigen Beispiel erklärt: 1342-114_Elchinger_Versicherungen_Vertragvom30.01.2019.pdf
Jetzt wird die Ordnerstruktur leider nicht nach Firmennamen "Elchinger" aufgebaut, sondern es wird Versicherung als Ordnerstruktur erstellt.
Die verschobenen pdf sind nicht mehr lesbar, da die pdf Datei eine Endung*.pdf_ bekommen hat und der Name passt entsprechend nicht_
Ne, das klappt leider nicht.
Am obigen Beispiel erklärt: 1342-114_Elchinger_Versicherungen_Vertragvom30.01.2019.pdf
Jetzt wird die Ordnerstruktur leider nicht nach Firmennamen "Elchinger" aufgebaut, sondern es wird Versicherung als Ordnerstruktur erstellt.
Die verschobenen pdf sind nicht mehr lesbar, da die pdf Datei eine Endung*.pdf_ bekommen hat und der Name passt entsprechend nicht_
Sorry kleiner Tippfehler ... Ist behoben.
Ab und zu Lesen bildet auch und du kannst dir selbst helfen 😉
Tutorial zur FOR-Schleife

Eine Quelle hab ich dir im letzten Kommentar verlinkt.

Zitat von @Ollenhauer:
Wie kann ich im Code für die Bezeichnung der Datei die beiden Zeichen - und _ ausklammern.
Das verursacht Probleme beim verschieben und umbennen.
- und _ sind ja die Seperatoren.
Wie kann ich im Code für die Bezeichnung der Datei die beiden Zeichen - und _ ausklammern.
Das verursacht Probleme beim verschieben und umbennen.
- und _ sind ja die Seperatoren.
Im oben verlinkten Tut. den Abschnitt zu tokens
lesen dann kommst du auch selber drauf, von copy n paste lernst du nichts
Tutorial zur FOR-Schleife
umbennen
Herzlichen Glückwunsch du hast den running gag counter um eins erhöht += 1I'm out.