Batch Datei zum umbenennen von Verzeichnissen ?

Hallo!

Ich will alle verzeichnisse per Batchdatei (oder Programm - habe aber bis jetzt nichts passendes gefunden) in ein bestimmtes Format umbenennen,

Derzeit schaut der Syntax der Verzeicnisse so aus:
Name - Text [typ,jahr,info,info]

wobei das Jahr immer aus 4 Zahlen besteht (zb 2016) und die 2.info nicht immer vorhanden ist!

Jetzt will ich folgendes ändern: Die Jahresangabe in eine Variable kopieren und das ‚-‘ mit dem jeweiligen Jahr überschreiben!

D.h es soll so aussehen

vorher :
Name - Text [typ,jahr,info,info]

nacher:
Name jahr Text [typ,jahr,info,info]

Das das Jahr dann doppelt im Verzeichnisnamen vorkommt ist egal, es geht darum das die Verzeichnisse dann richtig sortiert werden ( name - Jahr) !

Villeicht kann mir ja jemand bei der Batch Datei helfen oder weiss ein Programm welches dies kann!

schon mal vielen Dank!
DeCi

Moin,

Hast du schon https://www.advancedrenamer.com/ probiert?

Advanced Renamer - Batch rename utility
Advanced Renamer is a free program for renaming multiple files and folders at once.
By configuring renaming methods the names can be manipulated in various ways.

Ich nutze nicht alle Funktionen, aber vielleicht kannst du dein Problem damit lösen. Wir nutzen es, um Fotos mit den typischen kryptischen Namen ein wenig eindeutiger zu benennen.

Ulrich

Für Batch-Dateien musst Du Dir einiges aneignen.

  • Hilfe für „for“ in der Eingabeaufforderung (for /?)

  • „batch string manipulieren“ oder „batch text zerlegen“ in Google.

  • Stichworte „delims“ und diese komischen Zeichenoperatoren mit ~ und %, z.B.:

    • set str=%str:~1,-1%

Versuche es mit einfachen Beispielen. Google z.B. danach, nur Teile vom Datum mit echo auszugeben.

Vielen Dank für die Antworten! Dann mach ich mich mal schlau :smile:

Ich glaube ich hab die Lösung gefunden!

Mit Hilfe des Tools Bulk Rename Utitily und einer RegEX funktionert es soweit einmal!

Tool:
http://www.bulkrenameutility.co.uk/

Hier die Lösung falls es jemanden interessiert :
RegEx:
Match (.+)(.-)(.+)([)(.*),(\d{4}),(.+)]
Replace \1 \6 \3 [\5,\6,\7]