Sdílet prostřednictvím


Rename-Item

Přejmenuje položku v oboru názvů zprostředkovatele PowerShellu.

Syntaxe

ByPath (Výchozí)

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>]

Description

Rutina Rename-Item změní název zadané položky. Tato rutina nemá vliv na obsah přejmenované položky.

K přesunutí položky nemůžete použít Rename-Item, například zadáním cesty spolu s novým názvem. K přesunutí a přejmenování položky použijte rutinu Move-Item.

Příklady

Příklad 1: Přejmenování souboru

Tento příkaz přejmenuje soubor daily_file.txt na monday_file.txt.

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

Příklad 2: Přejmenování a přesunutí položky

K přejmenování a přesunutí položky nemůžete použít Rename-Item. Konkrétně nemůžete zadat cestu pro hodnotu parametru NewName, pokud není cesta identická s cestou zadanou v parametru Path. V opačném případě je povolený jenom nový název.

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"

Tento příklad se pokusí přejmenovat soubor project.txt v aktuálním adresáři tak, aby old-project.txt v adresáři D:\Archive. Výsledkem je chyba zobrazená ve výstupu.

Místo toho použijte rutinu Move-Item.

Příklad 3: Přejmenování klíče registru

Tento příklad přejmenuje klíč registru z Advertising na Marketing. Po dokončení příkazu se klíč přejmenuje, ale položky registru v klíči se nezmění.

Rename-Item -Path "HKLM:\Software\MyCompany\Advertising" -NewName "Marketing"

Příklad 4: Přejmenování více souborů

Tento příklad přejmenuje všechny soubory *.txt v aktuálním adresáři na *.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

Rutina Get-ChildItem získá všechny soubory v aktuální složce, které mají .txt příponu souboru, a pak je předá do Rename-Item. Hodnota NewName je blok skriptu, který se spustí před odesláním hodnoty do parametru NewName.

V bloku skriptu proměnná $_ automaticky zastupuje každý objekt souboru, jak je přenášen příkazem prostřednictvím potrubí. Blok skriptu používá operátor -replace k nahrazení přípony každého souboru příponou .log. Všimněte si, že porovnávání pomocí operátoru -replace nerozlišuje malá a velká písmena.

Parametry

-Confirm

Před spuštěním cmdletu vás vyzve k potvrzení.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False
Aliasy:viz

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Credential

Poznámka:

Tento parametr nejsou podporovány žádnými poskytovateli nainstalovanými v PowerShellu. Pokud chcete zosobnit jiného uživatele nebo zvýšit oprávnění při spuštění této rutiny, použijte Invoke-Command.

Vlastnosti parametru

Typ:PSCredential
Default value:Current user
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

-Force

Vynutí rutinu přejmenovat položky, které se jinak nedají změnit, například skryté nebo jen pro čtení nebo aliasy nebo proměnné jen pro čtení. Cmdlet nemůže měnit konstantní aliasy ani proměnné. Implementace se liší od zprostředkovatele po zprostředkovatele. Pro více informací viz about_Providers.

I když používáte parametr Force, rutina nemůže přepsat omezení zabezpečení.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-LiteralPath

Určuje cestu k jednomu nebo více místům. Hodnota LiteralPath se používá přesně tak, jak je zadána. Žádný znak není interpretován jako zástupný znak. Pokud cesta obsahuje únikové znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby žádné znaky neinterpretoval jako únikové sekvence.

Další informace najdete v about_Quoting_Rules.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False
Aliasy:PSPath, PO

Sady parametrů

ByLiteralPath
Position:Named
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

-NewName

Určuje nový název položky. Zadejte jenom název, nikoli cestu a název. Pokud zadáte cestu, která se liší od cesty zadané v parametru Path, Rename-Item vygeneruje chybu. Chcete-li přejmenovat a přesunout položku, použijte Move-Item.

V hodnotě parametru NewName nelze použít zástupné znaky. Pokud chcete zadat název více souborů, použijte operátor -replace v regulárním výrazu. Další informace o operátoru -replace naleznete v části about_Comparison_Operators.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:1
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

-PassThru

Vrátí objekt, který reprezentuje položku do potrubí. Ve výchozím nastavení tato rutina negeneruje žádný výstup.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Path

Určuje cestu položky k přejmenování.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

ByPath
Position:0
Povinné:True
Hodnota z kanálu:True
Hodnota z kanálu podle názvu vlastnosti:True
Hodnota ze zbývajících argumentů:False

-WhatIf

Ukazuje, co se stane, když se příkaz spustí. Příkazový modul nebyl spuštěn.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False
Aliasy:Wi

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

String

Řetězec, který obsahuje cestu, můžete předat tomuto cmdletu.

Výstupy

None

Ve výchozím nastavení tato rutina nevrací žádný výstup.

PSObject

Pokud použijete parametr PassThru, vrátí tato rutina objekt představující přejmenovanou položku.

Poznámky

PowerShell obsahuje následující aliasy pro Rename-Item:

  • Všechny platformy:
    • ren
    • rni

Rename-Item je navržená tak, aby fungovala s daty vystavenými libovolným poskytovatelem. Chcete-li zobrazit seznam poskytovatelů dostupných ve vaší relaci, napište Get-PSProvider. Pro více informací viz about_Providers.