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]
[<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.txt
D:\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í.
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 úroveň přihlašovacích údajů 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 najdete v tématu about_Providers.
I pomocí parametru Force nemůže rutina 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, LP |
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. 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.
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 |
-WhatIf
Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.
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
Ve výchozím nastavení tato rutina nevrací žádný výstup.
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.