Batch für Datei Sortierung
Hallo alle zusammen.
Ich bin leider nur Enduser und suche eine einfache Art Dateien zu sortieren.
Ich habe eine Ordner mit ca. 2000 Dateien die immer wieder einen neue Version bekommen.
Der Dateiname sieht wie folgt aus.
RL5_5M_AK7F2Z7_V1.xls
Es soll so sortiert werden.
Anhand der 8 - 10 stelle (AK7) soll dann ein Unterordner erstellt werden mit AK7 und alle Datein die dann AK7 enthalten dort hin verschoben werden.
RL5_5M_AK7F2Z7_V1.xls
RL5_5M_AK7F2Z8_V1.xls
RL5_5M_ZZ5F2Z7_V1.xls
Also immer anhand der 8 - 10 stelle ein Unterordner und dann alle dateien da rein.
Würde das mit einer Batch Datei gehen
Ich bin leider nur Enduser und suche eine einfache Art Dateien zu sortieren.
Ich habe eine Ordner mit ca. 2000 Dateien die immer wieder einen neue Version bekommen.
Der Dateiname sieht wie folgt aus.
RL5_5M_AK7F2Z7_V1.xls
Es soll so sortiert werden.
Anhand der 8 - 10 stelle (AK7) soll dann ein Unterordner erstellt werden mit AK7 und alle Datein die dann AK7 enthalten dort hin verschoben werden.
RL5_5M_AK7F2Z7_V1.xls
RL5_5M_AK7F2Z8_V1.xls
RL5_5M_ZZ5F2Z7_V1.xls
Also immer anhand der 8 - 10 stelle ein Unterordner und dann alle dateien da rein.
Würde das mit einer Batch Datei gehen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 559376
Url: https://administrator.de/forum/batch-fuer-datei-sortierung-559376.html
Ausgedruckt am: 26.04.2025 um 07:04 Uhr
1 Kommentar

Man hätte auch einfach die lokale Forums-Suche anwerfen können
Musterlösungen: Dateien verschieben abhängig vom Teil des Dateinamens
Batch
Powershell
Musterlösungen: Dateien verschieben abhängig vom Teil des Dateinamens
Batch
@echo off &setlocal enabledelayedexpansion
set "quelle=d:\daten"
for %%a in ("%quelle%\*.*") do (
set "name=%%~na"
set "folder=%%~dpa!name:~7,3!"
if not exist "!folder!" md "!folder!" >nul
move "%%a" "!folder!"
)
ls 'd:\Quelle' -File | ?{$_.Basename.length -ge 10} | group {$_.Basename.Substring(7,3)} |%{
$target = join-path $_.DirectoryName $_.Name
if(!(Test-Path $target)){md $target -force | out-null}
$_.Group | move-item -Destination $target -Force -verbose
}