WSH - Dateien umbennnen
Hallo zusammen,
ich bin absoluter Neuling in Sachen WSH und benötige eure Hilfe bei einem Script, welches Dateien umbenennt.
Hier das Beispiel:
Original-Name:
011_ASPRs 17Jan2018 <<--- zwischen dem ASPRs und dem Datum ist in der Dateibezeichnung immer eine Leertaste...
012_ASPRs 18Jan2018
...
so soll das Ergebnis sein:
17-01-18
18-01-18
...
Ich habe für jedes Jahr eben knapp 300 solcher Dateien und denke mal, dass das eine Aufgabe für WSH ist un d
nicht für mich mit dem Adler-Suchsystem auf der Tastatur....
Sonnige Grüße aus Hagen
Peter
PS: falls diese Frage unter "Windows Tools" nicht richtig sein sollte, bitte verschieben - Danke!
ich bin absoluter Neuling in Sachen WSH und benötige eure Hilfe bei einem Script, welches Dateien umbenennt.
Hier das Beispiel:
Original-Name:
011_ASPRs 17Jan2018 <<--- zwischen dem ASPRs und dem Datum ist in der Dateibezeichnung immer eine Leertaste...
012_ASPRs 18Jan2018
...
so soll das Ergebnis sein:
17-01-18
18-01-18
...
Ich habe für jedes Jahr eben knapp 300 solcher Dateien und denke mal, dass das eine Aufgabe für WSH ist un d
nicht für mich mit dem Adler-Suchsystem auf der Tastatur....
Sonnige Grüße aus Hagen
Peter
PS: falls diese Frage unter "Windows Tools" nicht richtig sein sollte, bitte verschieben - Danke!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 371956
Url: https://administrator.de/forum/wsh-dateien-umbennnen-371956.html
Ausgedruckt am: 21.04.2025 um 22:04 Uhr
10 Kommentare
Neuester Kommentar

Const FOLDER = "D:\Ordner"
Set fso = CreateObject("Scripting.Filesystemobject")
Set regex = CreateObject("vbscript.regexp")
regex.IgnoreCase = True
regex.Pattern = "(\d{2})([a-z]{3})(\d{4})$"
For Each fldr In fso.GetFolder(FOLDER).SubFolders
Set match = regex.Execute(fldr.Name)
If match.count > 0 Then
d = CDate(match(0).submatches(0) & " " & match(0).submatches(1) & " " & match(0).submatches(2))
strDate = Right("0" & Day(d),2) & "-" & Right( "0" & Month(d),2) & "-" & Year(d)
fldr.Move fso.BuildPath(FOLDER,strDate)
End If
Next
MsgBox "Finished."
Gruß

Tippfehler, ist korrigiert. Pfad bitte in der Konstanten in Zeile 1 ändern, nicht an anderer Stelle!!

Doch läuft wurde getestet! Du hast keine Dateiendung in deinem Beispiel angegeben, das Skript geht von Dateien ohne Dateiendung aus so wie du es oben angegeben hast!!
D.h. die Namen die du oben gelistet hast also bspw. 012_ASPRs 18Jan2018 interpretiere ich als kompletten Dateinamen. Ist das nicht der Fall muss der Regex angepasst werden bzw. du mir sagen was wirklich Sache ist!
D.h. die Namen die du oben gelistet hast also bspw. 012_ASPRs 18Jan2018 interpretiere ich als kompletten Dateinamen. Ist das nicht der Fall muss der Regex angepasst werden bzw. du mir sagen was wirklich Sache ist!

s. Anpassung oben ...

tja dann verwendest du nicht die zur Systemsprache passenden Monatsabkürzungen ganz einfach
. Also z.B. bei einem englischen System statt DEC = DEZ, und genau das führt zu dieser Meldung, das war genau meine Intention das du dich damit beschäftigst, aber war ja klar andackeln ist ja bequemer . Das lass ich dir jetzt als Hausaufgabe ...du sollst ja auch was lernen und nicht nur kopieren :-P. Stichwort = Select Case.