Sdílet prostřednictvím


Rename-Item

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

Syntaxe

Rename-Item
      [-Path] <String>
      [-NewName] <String>
      [-Force]
      [-PassThru]
      [-Credential <PSCredential>]
      [-WhatIf]
      [-Confirm]
      [-UseTransaction]
      [<CommonParameters>]
Rename-Item
      -LiteralPath <String>
      [-NewName] <String>
      [-Force]
      [-PassThru]
      [-Credential <PSCredential>]
      [-WhatIf]
      [-Confirm]
      [-UseTransaction]
      [<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.

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.

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"

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í příponu .txt souboru, a pak je nasdílí do Rename-Item. Hodnota NewName je blok skriptu, který se spustí před odesláním hodnoty do parametru NewName.

V bloku skriptu $_ automatická proměnná představuje každý objekt souboru, protože jde o příkaz prostřednictvím kanálu. Blok skriptu používá operátor -replace nahradit příponu souboru každého souboru .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 rutiny vás vyzve k potvrzení.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky: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.

Typ:PSCredential
Position:Named
Default value:Current user
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky: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í. Rutina nemůže měnit konstantní aliasy ani proměnné. Implementace se liší od zprostředkovatele po zprostředkovatele. Další informace naleznete v tématu about_Providers.

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

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-LiteralPath

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

Další informace najdete v tématu about_Quoting_Rules.

Typ:String
Aliasy:PSPath
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky: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 Nahradit v regulárním výrazu. Další informace o operátoru Replace naleznete v tématu about_Comparison_Operators.

Typ:String
Position:1
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-PassThru

Vrátí objekt, který představuje položku kanálu. Ve výchozím nastavení tato rutina negeneruje žádný výstup.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Path

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

Typ:String
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-UseTransaction

Zahrnuje příkaz v aktivní transakci. Tento parametr je platný pouze v případě, že probíhá transakce. Další informace najdete v tématu about_Transactions.

Typ:SwitchParameter
Aliasy:usetx
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-WhatIf

Ukazuje, co se stane, když se rutina spustí. Rutina se nespustí.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

String

Řetězec, který obsahuje cestu k této rutině, můžete převést.

Výstupy

None or an object that represents the renamed item.

Tato rutina vygeneruje objekt, který představuje přejmenovanou položku, pokud zadáte parametr PassThru. Jinak tato rutina negeneruje žádný výstup.

Poznámky

Rename-Item je navržená tak, aby fungovala s daty vystavenými libovolným poskytovatelem. Pokud chcete zobrazit seznam poskytovatelů dostupných v relaci, zadejte Get-PsProvider. Další informace naleznete v tématu about_Providers.