joe65
Goto Top

Ziffern aus Basenamen entfernen mit Powershell Kommando

Ich arbeite unter dem Betriebsystem Windows 10 mit der Powershell-Version: 5.1.19041.906

Ich habe Dateien, die im Basenamen Ziffern enthalten. Den Ziffern ist ein Unterstrich vorangestellt und befinden sich immer am Ende des Basenamen.
Beispiel:
Test_123.txt
blabla_20210418.cpp
abc_456.txt_20210418

Meine Frage:
Gibt es eine Powershell-Kommando (wenn möglich Einzeiler) der mir nur im Basenamen den Unterstrich und die Ziffern entfernt, die Extension aber so belässt?
Als Ergebnis sollte also rauskommen:
Test.txt
blabla.cpp
abc.txt_20210418

Ich habe schon folgenden Code probiert:
gci "C:\Meine_Dateien\Test" -File -Rec | ? {$_.basename -match '_\d+$'} | Rename-Item -NewName {$_.name -replace '_\d+'} -WhatIf  
Dieser Code entfernt aber leider auch die Ziffern in der Extension der Datei abc_456.txt_20210418 liefert also das nicht gewollte Ergebnis: abc.txt

Content-ID: 665854

Url: https://administrator.de/contentid/665854

Ausgedruckt am: 25.11.2024 um 15:11 Uhr

148121
Lösung 148121 18.04.2021 aktualisiert um 19:38:42 Uhr
Goto Top
Hat man dir in deiner Kinderstube keinen Anstand beigebracht?? Kein Hallo Tschüss oder Danke?!
Hier arbeiten noch echte Menschen und keine Maschinen!
Btw. wie oft denn heute noch?
gci "C:\Meine_Dateien\Test" -File -Rec | ?{$_.basename -match '_\d+$'} | Rename-Item -NewName {($_.basename -replace '_\d+$') + $_.Extension}  
Trotzdem nochmals
Gruß w.
joe65
joe65 19.04.2021 um 08:02:06 Uhr
Goto Top
Hallo warranty,

du hast Recht, ich habe einfach mein Problem geschildert ohne Begrüßung und ohne ein Danke.
Das möchte ich hiermit nachholen. Ich bitte um Entschuldigung. Ich habe schon lange keinen Beitrag mehr gepostet und war mir deshalb unsicher.
Ich möchte mich nochmal sehr herzlich bei Dir für deine schnelle Antwort bedanken!

Grüße
joe65