jensfla

Dateinamen am Ende abschneiden

Hallo,
ich bräuchte eure Hilfe im Kürzen von Dateinamen.
Ich exportiere aus einer Datenbank mehere CSV.
Diese werden dann so abgespeichert in einem Ordner.

xxxxxxxxxxx_xxxxx_22.12.2019.csv
xxxx_xxx_22.12.2019.csv
xxxxx_xxxxxx_22.12.2019.csv

Nun möchte ich die Dateinamen kürzen, indem das Datum am Ende bei allen Dateien entfernt wird.

xxxxxxxxxxx_xxxxx.csv
xxxx_xxx.csv
xxxxx_xxxxxx.csv

Vielen Dank.
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 529841

Url: https://administrator.de/forum/dateinamen-am-ende-abschneiden-529841.html

Ausgedruckt am: 25.04.2025 um 21:04 Uhr

mayho33
mayho33 26.12.2019 um 11:30:07 Uhr
Goto Top
Hi!

Das kannst du super per RegEx machen.

Vbscript:
https://developer.rhino3d.com/guides/rhinoscript/vbscript-regexp-objects ...

Powershell:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...

Als Pattern kannst du sowas verwenden:

[/d]{2,4}.[/d]{2,,4}.[/d]{2,4}

Grüße!
142232
Lösung 142232 26.12.2019 aktualisiert um 13:10:31 Uhr
Goto Top
PS
Get-ChildItem "d:\Ordner" -File -Filter *.csv | rename-item -NewName {$_.Name -replace '_\d{2}\.\d{2}\.\d{4}',''} -verbose -force  
142232
142232 26.12.2019 aktualisiert um 13:18:49 Uhr
Goto Top
Zitat von @mayho33:
Als Pattern kannst du sowas verwenden:

[/d]{2,4}.[/d]{2,,4}.[/d]{2,4}
Da hat wohl noch einer zu viel Eierlikör vom Fest intus face-big-smile. Dat tädet so natürlich ned. Einerseits überflüssige eckige Klammern, dann Slash statt Backslash für den Digitbezeichner (\d) verwendet und obendrein noch ein typo bei der mittleren Mengenangabe, und Punkt ohne Backslash, und seit wann haben Monat und Tag bei dir 4 Digits??
mayho33
Lösung mayho33 26.12.2019 um 13:44:37 Uhr
Goto Top
Zitat von @142232:
Da hat wohl noch einer zu viel Eierlikör vom Fest intus . Dat tädet so natürlich ned. Einerseits überflüssige eckige Klammern, dann Slash statt Backslash für den Digitbezeichner (\d) verwendet und obendrein noch ein typo bei der mittleren Mengenangabe, und Punkt ohne Backslash, und seit wann haben Monat und Tag bei dir 4 Digits??

> Get-ChildItem "d:\Ordner" -File -Filter *.csv | rename-item -NewName {$_.Name -replace '_\d{2}\.\d{2}\.\d{4}',''} -verbose -force  
> 

Uuuups! face-smile Mit dem Backslash gebe ich dir recht. Kommt davon, wenn man alles am Mobile schreibt. Der Backslash ist einfach zu viele Affengriffe entfernt. Vielleicht wars auch der ein oder andere weihnachtliche Whiskey zuviel face-wink

Natürlich geht deins. Es wäre mit aber etwas zu statisch. Da je nach Culture und Belieben niemand weiß wo denn das Jahr in welchem Format steht, das RegEx auf diese Art. Die {} sagen ja eh wieviele min/max es sein müssen.

hier die aktualisierte Version:


Und Ja! Die müssen nicht sein, sie tun aber auch nicht weh.

Wird also funktionieren.

Grüße!
jensfla
jensfla 26.12.2019 um 16:29:09 Uhr
Goto Top
Vielen Dank euch.