Tipps

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/

 

 

 


 89,    27  Jun  2018 ,   Tipp
Holger Voges

  E-Mail Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!

Holger Voges ist Inhaber der Firma Netz-Weise IT-Training und seit 1999 als Trainer und Consultant tätig. Als Allrounder in den Bereichen Windows Server, Active Directory, SQL Server, Hyper-V und Windows PowerShell, hat er in der Vergangenheit zahlreiche Einsätze als Consultant in namenhaften Firmen absolviert und so neben der Theorie auch umfangreiche praktische Erfahrungen gesammelt.

 

Netz-Weise

Das Haupt-Tätigkeitsfeld von Netz-Weise sind Schulungen für Profis. Bei uns bekommen Sie das Programm für den fortgeschrittenen Praktiker, der die Tiefen des Systems ausloten möchte genauso wie Standard-Schulungen.

So erreichen Sie uns:

Netz-Weise
IT-Training und Beratung
Freundallee 13a
30173 Hannover
 
Tel: (0511) 165 925-0
Fax: (0511) 165 925-99
email: info(at)netz-weise.de
 

Newsletter bestellen

Das Wichtigste kompakt ins E-Mailfach!