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
Ř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.