Rename-Item
Benennt ein Element in einem PowerShell-Anbieternamespace um.
Syntax
Rename-Item
[-Path] <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Rename-Item
-LiteralPath <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das cmdlet Rename-Item
ändert den Namen eines angegebenen Elements. Dieses Cmdlet wirkt sich nicht auf den Inhalt des umbenannten Elements aus.
Sie können Rename-Item
nicht verwenden, um ein Element zu verschieben, z. B. indem Sie einen Pfad zusammen mit dem neuen Namen angeben. Verwenden Sie das Cmdlet Move-Item
, um ein Element zu verschieben und umzubenennen.
Beispiele
Beispiel 1: Umbenennen einer Datei
Mit diesem Befehl wird die Datei daily_file.txt
in monday_file.txt
umbenannt.
Rename-Item -Path "c:\logfiles\daily_file.txt" -NewName "monday_file.txt"
Beispiel 2: Umbenennen und Verschieben eines Elements
Sie können Rename-Item
nicht verwenden, um ein Element umzubenennen und zu verschieben. Insbesondere können Sie keinen Pfad für den Wert des NewName-Parameters angeben, es sei denn, der Pfad ist identisch mit dem pfad, der im parameter Path angegeben ist. Andernfalls ist nur ein neuer Name zulässig.
Rename-Item -Path "project.txt" -NewName "d:\archive\old-project.txt"
Rename-Item : can't rename because the target specified represents a path or device name.
At line:1 char:12
+ Rename-Item <<<< -path project.txt -NewName d:\archive\old-project.txt
+ CategoryInfo : InvalidArgument: (:) [Rename-Item], PS> Move-Item -Path "project.txt" -De
stination "d:\archive\old-project.txt"
In diesem Beispiel wird versucht, die project.txt
Datei im aktuellen Verzeichnis in old-project.txt
im verzeichnis D:\Archive
umzubenennen. Das Ergebnis ist der Fehler, der in der Ausgabe angezeigt wird.
Verwenden Sie stattdessen das Cmdlet Move-Item
.
Beispiel 3: Umbenennen eines Registrierungsschlüssels
In diesem Beispiel wird ein Registrierungsschlüssel von Advertising- in Marketing-umbenannt. Wenn der Befehl abgeschlossen ist, wird der Schlüssel umbenannt, aber die Registrierungseinträge im Schlüssel bleiben unverändert.
Rename-Item -Path "HKLM:\Software\MyCompany\Advertising" -NewName "Marketing"
Beispiel 4: Umbenennen mehrerer Dateien
In diesem Beispiel werden alle *.txt
Dateien im aktuellen Verzeichnis in *.log
umbenannt.
Get-ChildItem *.txt
Directory: C:\temp\files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/3/2019 7:47 AM 2918 Friday.TXT
-a---- 10/3/2019 7:46 AM 2918 Monday.Txt
-a---- 10/3/2019 7:47 AM 2918 Wednesday.txt
Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '.txt','.log' }
Get-ChildItem *.log
Directory: C:\temp\files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/3/2019 7:47 AM 2918 Friday.log
-a---- 10/3/2019 7:46 AM 2918 Monday.log
-a---- 10/3/2019 7:47 AM 2918 Wednesday.log
Das Cmdlet Get-ChildItem
ruft alle Dateien im aktuellen Ordner ab, die über eine .txt
Dateierweiterung verfügen, und übergibt sie dann an Rename-Item
. Der Wert NewName ist ein Skriptblock, der ausgeführt wird, bevor der Wert an den NewName Parameter übermittelt wird.
Im Skriptblock stellt die $_
automatische Variable jedes Dateiobjekt im Hinblick auf den Befehl über die Pipeline dar. Der Skriptblock verwendet den -replace
-Operator, um die Dateierweiterung jeder Datei durch .log
zu ersetzen. Beachten Sie, dass beim Abgleich mit dem Operator -replace
die Groß-/Kleinschreibung nicht beachtet wird.
Parameter
-Confirm
Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Credential
Anmerkung
Dieser Parameter wird von anbietern, die mit PowerShell installiert sind, nicht unterstützt. Verwenden Sie Invoke-Command-, um die Identität eines anderen Benutzers zu imitieren oder Ihre Anmeldeinformationen beim Ausführen dieses Cmdlets zu erhöhen.
Typ: | PSCredential |
Position: | Named |
Standardwert: | Current user |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Force
Erzwingt das Cmdlet, Elemente umzubenennen, die andernfalls nicht geändert werden können, z. B. ausgeblendete oder schreibgeschützte Dateien oder schreibgeschützte Aliase oder Variablen. Das Cmdlet kann keine Konstantenalias oder Variablen ändern. Die Implementierung variiert von Anbieter zu Anbieter. Weitere Informationen finden Sie unter über_Anbieter.
Selbst bei Verwendung des parameters Force kann das Cmdlet keine Sicherheitseinschränkungen außer Kraft setzen.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-LiteralPath
Gibt einen Pfad zu einem oder mehreren Speicherorten an. Der Wert LiteralPath- wird genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Wildcards interpretiert. Wenn der Pfad Escapezeichen enthält, schließen Sie ihn in einfache Anführungszeichen ein. Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escapesequenzen zu interpretieren.
Weitere Informationen finden Sie unter über_Zitierregeln.
Typ: | String |
Aliase: | PSPath, LP |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-NewName
Gibt den neuen Namen des Elements an. Geben Sie nur einen Namen und keinen Pfad und Namen ein. Wenn Sie einen Pfad eingeben, der sich vom Pfad unterscheidet, der im parameter Path angegeben ist, generiert Rename-Item
einen Fehler.
Verwenden Sie Move-Item
, um ein Element umzubenennen und zu verschieben.
Sie können keine Wildcardzeichen im Wert des NewName-Parameters verwenden. Verwenden Sie zum Angeben eines Namens für mehrere Dateien den Operator Replace in einem regulären Ausdruck. Weitere Informationen zum Replace-Operator finden Sie unter about_Comparison_Operators.
Typ: | String |
Position: | 1 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-PassThru
Gibt ein Objekt zurück, das das Element für die Pipeline darstellt. Standardmäßig generiert dieses Cmdlet keine Ausgabe.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Path
Gibt den Pfad des umzubenennende Elements an.
Typ: | String |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
Sie können eine Zeichenfolge weiterleiten, die einen Pfad zu diesem Cmdlet enthält.
Ausgaben
None
Standardmäßig gibt dieses Cmdlet keine Ausgabe zurück.
Wenn Sie den PassThru Parameter verwenden, gibt dieses Cmdlet ein Objekt zurück, das das umbenannte Element darstellt.
Hinweise
PowerShell enthält die folgenden Aliase für Rename-Item
:
- Alle Plattformen:
ren
rni
Rename-Item
ist für die Arbeit mit den Daten konzipiert, die von jedem Anbieter verfügbar gemacht werden. Geben Sie Get-PsProvider
ein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können. Weitere Informationen finden Sie unter über_Anbieter.