netzweise2

Mehrfach-Umbenennen mit Powershell, Rename-Item und regulären Ausdrücken

Eine Datei umzubenennen ist mit Powershell mit Hilfe des Cmdlets Rename-Item relativ einfach möglich. Sie müssen nur den Namen der Datei und den neuen Namen angeben:

Rename-Item -Path C:\temp\Test.txt -NewName Produktion.txt

Es gibt aber auch die Möglichkeit, mehrere Dateien in einem Rutsch umzubenennen. Hierfür können Sie die umzubennenden Dateien per Pipeline an Rename-Item weiterleiten und neuen Namen über einen Skriptblock definieren:

Get-ChildItem -Path C:\Skripte\*.ps1 | Rename-Item -NewName { $_.basename + ".txt"  }

In diesem einfachen Beispiel werden alle Dateien mit der Endung .ps1 im Ordner c:\Skripte in .txt umbenannt - $_ ist ein Platzhalter für die einzelnen Dateien, .basename beinhaltet den Dateinamen ohne Dateiendung.

Rename-Item kann aber auch mit regulären Ausdrücken umgehen. Das kann hilfreich sein, um nur Dateien umzubennen, die einem bestimmten Muster entsprechen. Verwenden Sie dazu im Skriptblock den Operator -replace, um den neuen Namen anzugeben. Möchten Sie Beipsielsweise alle führenden Zahlen aus einem Dateinamen entfernen, verwenden Sie folgenden Code:

Get-ChildItem -path C:\downloads\ -File | Rename-Item -NewName { $_.name -replace ^'\d{3,}',''  }

$_.name enthält hier den vollständigen Dateinamen. Immer, wenn mindestens drei Zahlen (\d steht für genau eine Zahl, {3,} ist ein Quantifizierer und gibt das Minimale und Maximale Auftreten der Zahl an) am Anfang einer Zeile (^ markiert den Zeilenanfang) gefunden werden, wird das Suchmuster durch den Wert hinter dem Komma ersetzt, in diesem Fall einfach ein Leerstring. Mehr zum Replace finden Sie in der Powershell-Hilfe:

get-help about_comparison_operators -ShowWindow

weiterführende Quellen:
https://www.regular-expressions.info/

 

 

 

×
Stay Informed

When you subscribe to the blog, we will send you an e-mail when there are new updates on the site so you wouldn't miss them.

Windows 10 startet immer neu statt herunterzufahre...
Parametrisierte Programme in Powershell starten am...

Related Posts

 

Comments

No comments made yet. Be the first to submit a comment
Already Registered? Login Here
Dienstag, 24. Juni 2025