4.6k Aufrufe
Gefragt in Textverarbeitung von
Hallo zusammen,

ich möchte gerne alle CSV Dateien umbenennen.

Der aktuelle Strukturname lautet: AB3001011_Name.csv

Ich möchte den Dateinamen nur bis zum Unterstrich speichern: AB3001011.csv

Vielen Dank für eure Hilfe !

VG
Jan

5 Antworten

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Jan,

versuch es mal so:

Sub umbenennen()
Dim strPfad As String
Dim strDatname As String
Dim strDatalt As String
Dim strDatneu As String
Dim vNeuname As Variant

'Erst der Pfad - anpassen
strPfad = "C:\Test\"
strDatname = Dir(strPfad & "*.csv")

Do While Len(strDatname)
vNeuname = Split(strDatname, "_")
strDatneu = strPfad & vNeuname(0) & ".csv"
strDatalt = strPfad & strDatname
Name strDatalt As strDatneu
strDatname = Dir

Loop

End Sub


Den Pfad musst du nach deinen Bedürfnissen anpassen.

Gruß

M.O.
0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo Jan,

falls du öfter mal solche Aufgaben zum Umbenennen mehrere Dateien hast und das nicht unbedingt über VBA machen möchtest, bietet dich der Ant Renamer an. Der bietet sehr flexible Möglichkeiten zum Umbenennen großer Mengen Dateien gleichzeitig mit Such- und Ersetzkriterien und ist trotzdem übersichtlich und einfach zu bedienen.

Gruß
computerschrat
0 Punkte
Beantwortet von
Wenn dein Betriebssystem die Powershell hat (ab Windows 7) dann geht sowas:

Mit Parameter "Whatif" zum Testen:
dir *.csv | % { ren $_ ($_.Name.Split("_")[0] + ".csv") -WhatIf }

Ohne "Whatif" zum ausführen:
dir *.csv | % { ren $_ ($_.Name.Split("_")[0] + ".csv") }

Gruß
Powershell
0 Punkte
Beantwortet von
Vielen Dank für eure Tipps!

@ M.O.

Dein Script hat leider nicht funktioniert. Den Pfad hatte ich angepasst.
Und habe das Makro im gleichen Verzeichnis abgespeichert.

VG
Jan
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Jan,

bei meinen Tests (Makro in einem allgemeinen Modul in einer Excel-Arbeitsmappe) hat der Code einwandfrei funktioniert.

Gruß

M.O.
...