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 Rename-Item
Cmdlet ändert den Namen eines angegebenen Elements. Dieses Cmdlet hat keine Auswirkungen auf den Inhalt des umbenannten Elements.
Sie können ein Element nicht verschieben, z. B Rename-Item
. indem Sie einen Pfad zusammen mit dem neuen Namen angeben. Verwenden Sie das Cmdlet, um ein Element zu verschieben und umzubenennen Move-Item
.
Beispiele
Beispiel 1: Umbenennen einer Datei
Mit diesem Befehl wird die Datei daily_file.txt
in monday_file.txt
.
Rename-Item -Path "c:\logfiles\daily_file.txt" -NewName "monday_file.txt"
Beispiel 2: Umbenennen und Verschieben eines Elements
Sie können ein Element nicht Rename-Item
umbenennen und verschieben. Insbesondere können Sie keinen Pfad für den Wert des NewName-Parameters angeben, es sei denn, der Pfad ist identisch mit dem im Path-Parameter angegebenen Pfad. 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 das D:\Archive
Verzeichnis umzubenennenold-project.txt
. Das Ergebnis ist der in der Ausgabe angezeigte Fehler.
Verwenden Sie stattdessen das Move-Item
Cmdlet.
Beispiel 3: Umbenennen eines Registrierungsschlüssels
In diesem Beispiel wird ein Registrierungsschlüssel von Advertising in Marketing umbenannt. Nach Abschluss des Befehls wurde der Schlüssel umbenannt, die Registrierungseinträge im Schlüssel sind jedoch 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 Get-ChildItem
Cmdlet ruft alle Dateien im aktuellen Ordner ab, die über eine .txt
Dateierweiterung verfügen, und übergibt sie dann an Rename-Item
. Der Wert von 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
. Beachten Sie, dass bei übereinstimmungen mit dem -replace
Operator die Groß-/Kleinschreibung nicht beachtet wird.
Parameter
-Confirm
Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
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 unterscheidet sich bei den einzelnen Anbietern. Weitere Informationen finden Sie unter about_Providers.
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 von LiteralPath wird genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escapesequenzen zu interpretieren.
Weitere Informationen finden Sie unter about_Quoting_Rules.
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 ein, nicht einen Pfad und einen Namen. Wenn Sie einen Pfad eingeben, der sich vom Pfad unterscheidet, der im Parameter "Path " angegeben ist, Rename-Item
wird ein Fehler generiert.
Um ein Element umzubenennen und zu verschieben, verwenden Sie Move-Item
.
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 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 wird von diesem Cmdlet keine Ausgabe generiert.
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 geschieht, 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 ein, um die in Ihrer Sitzung verfügbaren Anbieter auflisten zu können Get-PsProvider
. Weitere Informationen finden Sie unter about_Providers.