balzmatthias
Goto Top

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

Content-Key: 559376

Url: https://administrator.de/contentid/559376

Printed on: April 16, 2024 at 13:04 o'clock

Mitglied: 143127
143127 Mar 20, 2020, updated at Mar 21, 2020 at 07:08:00 (UTC)
Goto Top
Man hätte auch einfach die lokale Forums-Suche anwerfen können
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!"  
)
Powershell
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
}