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-Key: 665854

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

Printed on: April 19, 2024 at 18:04 o'clock

Mitglied: 148121
Solution 148121 Apr 18, 2021 updated at 17:38:42 (UTC)
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.
Member: joe65
joe65 Apr 19, 2021 at 06:02:06 (UTC)
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