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 Rename-Item verschieben, z. B. indem Sie einen Pfad zusammen mit dem neuen Namen angeben. Verwenden Sie das Move-Item Cmdlet, 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.

Rename-Item -Path "c:\logfiles\daily_file.txt" -NewName "monday_file.txt"

Beispiel 2: Umbenennen und Verschieben eines Elements

Sie können Rename-Item kein Element 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 Pfad, der im Pfadparameter 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 das D:\Archive Verzeichnis old-project.txt umzubenennen. 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.

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, in denen eine .txt Dateierweiterung enthalten ist, 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 dar, da es über die Pipeline zum Befehl kommt. Der Skriptblock verwendet den -replace Operator, um die Dateierweiterung jeder Datei durch .log. Beachten Sie, dass die Übereinstimmung mit dem -replace Operator bei der Groß-/Kleinschreibung nicht beachtet wird.

Parameter

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Hinweis

Dieser Parameter wird von anbietern, die mit PowerShell installiert sind, nicht unterstützt. Um einen anderen Benutzer zu imitieren oder Ihre Anmeldeinformationen beim Ausführen dieses Cmdlets zu erhöhen, verwenden Sie "Invoke-Command".

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters: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 wenn der Parameter Force verwendet wird, kann das Cmdlet keine Sicherheitseinschränkungen außer Kraft setzen.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

Gibt einen Pfad zu einem oder mehreren Speicherorten an. Der Wert von LiteralPath wird genau wie eingegeben verwendet. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einzelne Anführungszeichen weisen PowerShell an, keine Zeichen als Escapesequenzen zu interpretieren.

Weitere Informationen finden Sie unter about_Quoting_Rules.

Type:String
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 vom pfadspezifischen 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. Verwenden Sie den Replace-Operator in einem regulären Ausdruck, um einen Namen für mehrere Dateien anzugeben. Weitere Informationen zum Operator "Ersetzen" finden Sie unter about_Comparison_Operators.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Gibt ein Objekt zurück, das das Element in der Pipeline darstellt. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Gibt den Pfad des zu umbenennenden Elements an.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

String

Sie können eine Zeichenfolge weiterleiten, die einen Pfad zu diesem Cmdlet enthält.

Ausgaben

None or an object that represents the renamed item.

Dieses Cmdlet generiert ein Objekt, das das umbenannte Element darstellt, wenn Sie den PassThru-Parameter angeben. Andernfalls wird von diesem Cmdlet keine Ausgabe generiert.

Hinweise

Rename-Item ist darauf ausgelegt, mit den daten zu arbeiten, die von jedem Anbieter verfügbar gemacht werden. Zum Auflisten der in Ihrer Sitzung verfügbaren Anbieter geben Sie Get-PsProvider. Weitere Informationen finden Sie unter about_Providers.