djravingmonkey
Goto Top

Dateien Anhand von Dateinamen in Ordner sortiern

Nach falschem setting beim Rendern muss ich Dateien anhand des Dateinamens in Ordner sortiern. Und bräuchte dafür ein Skript, dass ich in Windows 7 ausführen kann.

Ich habe nach einem 24 Stunden Rendervorgang festgestellt, das ein Haken nicht gesetzt war und sich nun dateien mit folgenden Namen:

V1-0009_MVI_2249.[xxxxxxxx].tif
V1-0142_new final-MVI_2489.[xxxxxxxx].tif

Alle in einem Ordner befinden. Die eckigen klammern stellen jeweils durchlaufende nummern dar. (000000001 00000002 000000003 usw immer mit der gleichen anzahl an stellen) Die Zahlen fangen aber immer bei unterschiedlichen werten an und es sind Immer unterschiedlich viele Dateien.

Diese Dateien sollten nun in Ordner mit dem Dateinamen jeweils bis zum Punkt verschoben werden zb.

V1-0009_MVI_2249 oder
V1-0142_new final-MVI_2489


Wichtig wäre es die Dateien zu verschieben, nicht zu kopieren, da nicht mehr genügend plattenplatz vorhanden ist. Und es zu lange dauern würde (mehrere TB an Daten)

Bei fast allen Dateien sehen die Namen wie im ersten Beispiel aus und nur die zahlen ändern sich.
Bei wenigen Ausnahmen kommen anmerkungen wie im zweiten Beispiel (new Final) dazu. Wenn diese Files ausgelassen würden wäre es nicht schlimm. Das ginge auch per Hand.

Kann mir jemand Helfen? Wäre großartig!

Content-Key: 202661

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

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

Member: bastla
bastla Mar 02, 2013 at 14:58:42 (UTC)
Goto Top
Hallo DJravingMonkey und willkommen im Forum! (Für Viele hier, mich eingeschlossen, ist eine Begrüßung ein selbstverständilcher Akt der Höflichkeit.)

Etwa so:
@echo off & setlocal
pushd "D:\Gerenderte Dateien"  

for %%i in (*.tif) do (
    for /f "delims=." %%a in ("%%~ni") do  
        md "%%a" 2>nul  
        echo move "%%i" "%%a\"  
    )
)
popd
pause
Durch das "echo" in der Zeile 8 wird das Verschieben zum Testen nur (durch Anzeige des Befehls dafür) simuliert; die Zielordner werden allerdings gleich erstellt (außer, Du schreibst auch an den Beginn der Zeile 7 noch ein "echo".

Grüße
bastla