Rename-Item

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

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

Description

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

Nelze použít Rename-Item k přesunutí položky, 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

Položku nemůžete Rename-Item přejmenovat ani přesunout. Konkrétně nemůžete zadat cestu pro hodnotu parametru NewName , pokud cesta není 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 project.txt soubor v aktuálním adresáři do old-project.txtD:\Archive adresáře. 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 inzerce 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 *.txt soubory 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, 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 představuje automatická proměnná každý objekt souboru, protože jde o příkaz prostřednictvím kanálu. Blok skriptu používá -replace operátor k nahrazení přípony souboru každého souboru .log. Všimněte si, že odpovídající použití operátoru -replace nerozlišuje malá a velká písmena.

Parametry

-Confirm

Před spuštěním rutiny zobrazí výzvu k potvrzení.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 úroveň přihlašovacích údajů při spuštění této rutiny, použijte Invoke-Command.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters: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 najdete v tématu about_Providers.

I pomocí parametru Force nemůže rutina přepsat omezení zabezpečení.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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. Chcete-li 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 tématu about_Comparison_Operators.

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

-PassThru

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

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

-Path

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

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

-WhatIf

Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.

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

Vstupy

String

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

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 fungoval s daty vystavenými jakýmkoli poskytovatelem. Pokud chcete zobrazit seznam poskytovatelů dostupných v relaci, zadejte Get-PsProvider. Další informace najdete v tématu about_Providers.