Rename-Item
Benennt ein Element in einem PowerShell-Anbieternamespace um.
Syntax
ByPath (Standardwert)
Rename-Item
[-Path] <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByLiteralPath
Rename-Item
[-NewName] <String>
-LiteralPath <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.txtumbenannt.
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 *.logumbenannt.
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 repräsentiert die automatische Variable $_ jedes Dateiobjekt, während es durch die Pipeline zum Befehl kommt. Der Skriptblock verwendet den -replace-Operator, um die Dateierweiterung jeder Datei durch .logzu ersetzen. Beachten Sie, dass beim Abgleich mit dem -replace-Operator nicht zwischen Groß-/Kleinschreibung unterschieden wird.
Parameter
-Confirm
Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | vgl |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Credential
Hinweis
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.
Parametereigenschaften
| Typ: | PSCredential |
| Standardwert: | Current user |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | 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. Mit diesem Cmdlet können keine konstanten Aliase oder Variablen geändert werden. 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.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-LiteralPath
Gibt einen Pfad zu einem oder mehreren Speicherorten an. Der Wert von LiteralPath wird genau so verwendet, wie es geschrieben ist. Es werden keine Zeichen als Wildcards interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen signalisieren PowerShell, dass keine Zeichen als Escapesequenzen interpretiert werden sollen.
Weitere Informationen finden Sie unter über_Zitierregeln.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | PSPath, EP |
Parametersätze
ByLiteralPath
| Position: | Named |
| Obligatorisch.: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | 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. Um einen Namen für mehrere Dateien anzugeben, verwenden Sie den -replace-Operator in einem regulären Ausdruck. Weitere Informationen über den Operator -replace finden Sie unter about_Comparison_Operators.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 1 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-PassThru
Gibt ein Objekt zurück, das das Element für die Pipeline darstellt. Standardmäßig generiert dieses Cmdlet keine Ausgabe.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Path
Gibt den Pfad des umzubenennende Elements an.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ByPath
| Position: | 0 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Wi |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
String
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.
PSObject
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:
renrni
Rename-Item ist für die Arbeit mit den daten konzipiert, die von jedem Anbieter verfügbar gemacht werden. Geben Sie Get-PSProviderein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können. Weitere Informationen finden Sie unter über_Anbieter.