Freigeben über


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:
    • ren
    • rni

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.