Clever-Excel-Forum

Normale Version: Alle Dateien auf einmal umbenennen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

mit einem einfachen Batch Befehl kann man alle Dateien auf einmal in einem Verzeichnis umbenennen.
In einer Batch Datei würde der Befehl dann z.B. so aussehen:
Rename *.mp3 *.dll

Alle .mp3 Dateien werden in .dll Dateien umbenannt.

Für mich hat so etwas durchaus praktische Anwendung. Ich könne alle Dateien in einem Ordner auf einem MP3 Player umbenennen und die würden dann nicht
mehr vom Player abgespielt.

Ich wüßte gerne, ob so etwas auch mittels einer VBA Programmierung möglich ist.
Hallo

das geht sicherlich auch mit VBA in Excel, ich empfehle dennoch für solche Anwendungen das Bulk Rename Utility
@Willie, Danke für deinen Link. So etwas kann ich immer gebrauchen.

Will man alle Dateien umbenennen kann man das natürlich so machen:

Sub Alle_Dateien_umbenennen()
Dim objFSO As Object
Dim objOrdner As Object
Dim objDateien As Object

Dim strPath As String
'!Pfad individuell Anpassen:
strPath = "C:\Alle\"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOrdner = objFSO.GetFolder(strPath)
Set objDateien = objOrdner.Files
For Each Datei In objDateien
Name strPath & Datei.Name As strPath & objFSO.GetBaseName(strPath & Datei.Name) & ".dll"
Next
End Sub

Aber diese Lösung gefällt mir absolut nicht. Viel zu kompliziert. Es geht bestimmt einfacher!
Hallo Wulfi,

was ist Dir denn an den 12 Zeilen Code zu kompliziert?

Du kannst sicher auch über Windows ein cmd öffnen, mit cd "C:\Alle\ in das Verzeichnis wechseln und mit rename *.* *.dll alle Dateiextensions durch dll ersetzen.

Da brauchst Du nicht mal Code dazu Smile Hattest Du ja eingangs selber schon geschrieben.
Ansonsten kann man im VBA auch die Shell nutzen und das würde dann entsprechend aussehen, z.B.
Code:
Sub CmdRen()
Dim objShell
Set objShell = CreateObject("WScript.shell")
objShell.Run "cmd /c ren I:\Test\*.* *.dll"
Set objShell = Nothing
End Sub
@Andre: Vielen Dank!!

Mittels Deiner Hilfe kann ich die Dateien jetzt auch mit nur einer einzigen Codezeile umbenennen:

Shell "cmd /c ren C:\Alle\*.* *.dll"