Benennt ein Element in einem Windows PowerShell-Anbieternamespace um.

Syntax

Rename-Item [-Path] <string> [-NewName] <string> [-Credential <PSCredential>] [-Force] [-PassThru] [-Bestätigung] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Beschreibung

Das Cmdlet "Rename-Item" ändert den Namen eines angegebenen Elements. Dieses Cmdlet hat keine Auswirkungen auf den Inhalt des umbenannten Elements.

Sie können mit Rename-Item ein Element verschieben, z. B. durch das Angeben eines Pfads zusammen mit dem neuen Namen. Verwenden Sie das Cmdlet "Move-Item", um ein Element zu verschieben und umzubenennen.

Parameter

-Credential <PSCredential>

Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Der Standardwert ist der aktuelle Benutzer.

Geben Sie einen Benutzernamen ein, z. B. "User01" oder "Domain01\User01", oder geben Sie ein PSCredential-Objekt ein, z. B. ein vom Cmdlet "Get-Credential" generiertes Objekt. Wenn Sie einen Benutzernamen eingeben, werden Sie zur Eingabe eines Kennworts aufgefordert.

Dieser Parameter wird nicht von mit Windows PowerShell installierten Anbietern unterstützt.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Force

Ermöglicht dem Cmdlet das Umbenennen von Elementen, die anderweitig nicht geändert werden können, z. B. versteckte oder schreibgeschützte Dateien bzw. schreibgeschützte Aliase oder Variablen. Mit diesem Cmdlet können keine konstanten Aliase oder Variablen geändert werden. Die Implementierung unterscheidet sich bei den einzelnen Anbietern. Weitere Informationen finden Sie unter "about_Providers". Auch bei Verwendung des Force-Parameters kann das Cmdlet keine Sicherheitseinschränkungen außer Kraft setzen.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-NewName <string>

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 von dem im Path-Parameter angegebenen Pfad abweicht, generiert Rename-Item einen Fehler. Verwenden Sie das Cmdlet "Move-Item", um ein Element umzubenennen und zu verschieben.

Sie können keine Platzhalterzeichen im Wert von "NewName" verwenden. Wenn Sie einen Namen für mehrere Dateien angeben möchten, verwenden Sie den Replace-Operator in einem regulären Ausdruck. Weitere Informationen über den Replace-Operator erhalten Sie mit folgendem Befehl: "Get-Help about_Comparison_Operators". Dies wird in den Beispielen veranschaulicht.

Erforderlich?

true

Position?

2

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-PassThru

Übergibt ein Objekt, das das Element darstellt, an die Pipeline. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Path <string>

Gibt den Pfad zu dem umzubenennenden Element an.

Erforderlich?

true

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

true (ByValue, ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Bestätigung

Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-WhatIf

Beschreibt die Auswirkungen einer Ausführung des Befehls, ohne den Befehl tatsächlich auszuführen.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-UseTransaction

Schließt den Befehl in die aktive Transaktion ein. Dieser Parameter ist nur gültig, wenn eine Transaktion ausgeführt wird. Weitere Informationen finden Sie unter "about_Transactions".

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

System.String

Sie können eine Zeichenfolge mit einem Pfad über die Pipeline an Rename-Item übergeben.

Ausgaben

Keiner oder ein Objekt, das das umbenannte Element darstellt.

Wenn Sie den Passthru-Parameter verwenden, generiert Rename-Item ein Objekt, das das umbenannte Element darstellt. Andernfalls wird von diesem Cmdlet keine Ausgabe generiert.

Hinweise

Das Cmdlet "Rename-Item" ist für die Verwendung mit Daten konzipiert, die von beliebigen Anbietern verfügbar gemacht werden. Um die in der Sitzung verfügbaren Anbieter aufzuführen, geben Sie "Get-PsProvider" ein. Weitere Informationen finden Sie unter "about_Providers".

Beispiel 1

C:\PS>rename-item -path c:\logfiles\daily_file.txt -newname monday_file.txt

Beschreibung
-----------
Mit diesem Befehl wird die Datei "daily_file.txt" in "monday_file.txt" umbenannt.






Beispiel 2

C:\PS>rename-item -path project.txt -newname d:\archive\old-project.txt

Rename-Item : Cannot 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], PSArgumentException
    + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.RenameItemCommand


C:\PS> move-item -path project.txt -destination d:\archive\old-project.txt
# Command succeeds

Beschreibung
-----------
Dieses Beispiel veranschaulicht, dass mit dem Cmdlet "Rename-Item" ein Element nicht sowohl umbenannt als auch verschoben werden kann. 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.

Im ersten Befehl wird die Datei "project.txt" im aktuellen Verzeichnis mit dem Cmdlet "Rename-Item" in "old-project.txt" im Verzeichnis "D:\Archive" umbenannt. Das Ergebnis ist der in der Ausgabe angezeigte Fehler.

Der zweite Befehl veranschaulicht das richtige Vorgehen zum Verschieben und Umbenennen einer Datei mit dem Cmdlet "Move-Item". Mit dem Cmdlet "Move-Item" können Sie einen neuen Pfad sowie einen neuen Namen im Wert des Destination-Parameters angeben.






Beispiel 3

C:\PS>rename-item HKLM:\Software\MyCompany\Advertising -NewName Marketing

Beschreibung
-----------
In diesem Befehl wird mit dem Cmdlet "Rename-Item" 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.






Beispiel 4

C:\PS>get-childItem *.txt | rename-item -newname { $_.name -replace '\.txt','.log' }

Beschreibung
-----------
In diesem Beispiel wird das Umbenennen von mehreren Dateien mit dem Replace-Operator veranschaulicht, obwohl der NewName-Parameter keine Platzhalterzeichen akzeptiert.

Dieser Befehl benennt alle TXT-Dateien im aktuellen Verzeichnis in LOG-Dateien um. 

Der Befehl ruft mit dem Cmdlet "Get-ChildItem" alle Dateien im aktuellen Verzeichnis mit der Dateinamenerweiterung ".txt" ab. Dann werden die resultierenden Dateien mithilfe des Pipelineoperators (|) an das Cmdlet "Rename-Item" gesendet. 

Im Befehl "Rename-Item" handelt es sich bei dem Wert des NewName-Parameters um einen Skriptblock, der ausgeführt wird, bevor der Wert an den NewName-Parameter gesendet wird.

Im Skriptblock stellt die automatische Variable "$_" jedes Dateiobjekt so dar, wie es über die Pipeline an den Befehl gesendet wird. Im Befehl wird die Name-Eigenschaft der einzelnen Dateiobjekte mit dem Punktformat (.) abgerufen. Der Replace-Operator ersetzt die Dateinamenerweiterung ".txt" jeder Datei durch ".log".

Da der Replace-Operator mit regulären Ausdrücken arbeitet, wird der Punkt vor "txt" so interpretiert, dass er einem beliebigen Zeichen entspricht. Um sicherzustellen, dass er nur als Punkt (.) interpretiert wird, wird er mit einem umgekehrten Schrägstrich (\) als Escapezeichen versehen. Der umgekehrte Schrägstrich ist in ".log" nicht erforderlich, da es sich um eine Zeichenfolge und keinen regulären Ausdruck handelt.






Siehe auch




Inhaltsverzeichnis