Move-Item
Přesune položku z jednoho umístění do jiného.
Syntaxe
Move-Item
[-Path] <String[]>
[[-Destination] <String>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Move-Item
-LiteralPath <String[]>
[[-Destination] <String>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Description
Rutina Move-Item
přesune položku, včetně jejích vlastností, obsahu a podřízených položek, z jednoho umístění do jiného.
Umístění musí být podporována stejným poskytovatelem.
Může například přesunout soubor nebo podadresář z jednoho adresáře do jiného nebo přesunout podklíč registru z jednoho klíče do druhého.
Když položku přesunete, přidá se do nového umístění a odstraní se z původního umístění.
Příklady
Příklad 1: Přesunutí souboru do jiného adresáře a jeho přejmenování
Tento příkaz přesune soubor "Test.txt" z jednotky C:
do adresáře "E:\Temp" a přejmenuje ho z "test.txt" na "tst.txt".
Move-Item -Path C:\test.txt -Destination E:\Temp\tst.txt
Příklad 2: Přesunutí adresáře a jeho obsahu do jiného adresáře
Tento příkaz přesune adresář C:\Temp a jeho obsah do adresáře C:\Logs. Adresář "Temp" a všechny jeho podadresáře a soubory se pak zobrazí v adresáři "Logs".
Move-Item -Path C:\Temp -Destination C:\Logs
Příklad 3: Přesunutí všech souborů zadané přípony z aktuálního adresáře do jiného adresáře
Tento příkaz přesune všechny textové soubory (*.txt") v aktuálním adresáři (reprezentované tečkou ('.')) do adresáře C:\Logs.
Move-Item -Path .\*.txt -Destination C:\Logs
Příklad 4: Rekurzivně přesuňte všechny soubory zadané přípony z aktuálního adresáře do jiného adresáře.
Tento příkaz přesune všechny textové soubory z aktuálního adresáře a všech podadresářů rekurzivně do adresáře C:\TextFiles.
Příkaz používá rutinu Get-ChildItem
k získání všech podřízených položek v aktuálním adresáři (reprezentované tečkou [.]) a jeho podadresáře, které mají příponu názvu souboru ".txt". Pomocí parametru Recurse nastaví rekurzivní načtení a parametr Include omezit načtení na soubory.txt.
Operátor kanálu (|
) odešle výsledky tohoto příkazu do Move-Item
, který přesune textové soubory do adresáře TextFiles.
Pokud soubory, které se mají přesunout do C:\Textfiles, mají stejný název, Move-Item
zobrazí chybu a bude pokračovat, ale přesune pouze jeden soubor s každým názvem na C:\Textfiles.
Ostatní soubory zůstanou v původních adresářích.
Pokud adresář Textfiles (nebo jakýkoli jiný prvek cílové cesty) neexistuje, příkaz selže.
Chybějící adresář se pro vás nevytvořil, i když použijete parametr Force.
Move-Item
přesune první položku do souboru s názvem Textfiles a zobrazí chybu s vysvětlením, že soubor již existuje.
Ve výchozím nastavení Get-ChildItem
také nepřesouvají skryté soubory.
Pokud chcete přesunout skryté soubory, použijte parametr Force s Get-ChildItem
.
Poznámka: V prostředí Windows PowerShell 2.0 musí být při použití parametru Recurse rutiny Get-ChildItem
hodnota parametru Path kontejnerem.
Pomocí parametru Include zadejte filtr přípony názvu souboru .txt (Get-ChildItem -Path .\* -Include *.txt -Recurse | Move-Item -Destination C:\TextFiles
).
Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"
Příklad 5: Přesunutí klíčů registru a hodnot do jiného klíče
Tento příkaz přesune klíče registru a hodnoty v klíči registru MyCompany v HKLM\Software na klíč MyNewCompany. Zástupný znak (*) označuje, že se má přesunout obsah klíče "MyCompany", nikoli samotný klíč. V tomto příkazu nejsou vynechány volitelné názvy parametrů Cesta a Cíl.
Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"
Příklad 6: Přesunutí adresáře a jeho obsahu do podadresáře zadaného adresáře
Tento příkaz přesune adresář Logs[Sept'06] (a jeho obsah) do adresáře Logs[2006].
Parametr LiteralPath se používá místo Path, protože původní název adresáře obsahuje znaky závorek a pravých závorek ("[" a "]"). Cesta je také uzavřena do jednoduchých uvozovek (' '), takže symbol zadního znaménka (') není chybně interpretován.
Parametr Destination nevyžaduje cestu literálu, protože cílová proměnná musí být také uzavřena do jednoduchých uvozovek, protože obsahuje hranaté závorky, které lze chybně interpretovat.
Move-Item -LiteralPath 'Logs[Sept`06]' -Destination 'Logs[2006]'
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 |
-Destination
Určuje cestu k umístění, kam se položky přesouvají. Výchozí hodnota je aktuální adresář. Jsou povoleny zástupné cardy, ale výsledek musí určovat jedno umístění.
Chcete-li přejmenovat přesunutou položku, zadejte nový název v hodnotě parametru Destination.
Typ: | String |
Position: | 1 |
Default value: | Current directory |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | True |
-Exclude
Určuje jako pole řetězců položku nebo položky, které tato rutina z operace vylučuje. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek cesty nebo vzor, například "*.txt". Jsou povoleny zástupné znaky.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-Filter
Určuje filtr ve formátu nebo jazyce poskytovatele. Hodnota tohoto parametru kvalifikuje parametr Path.
Syntaxe filtru, včetně použití zástupných znaků, závisí na poskytovateli. Filtry jsou efektivnější než jiné parametry, protože je poskytovatel použije, když rutina získá objekty místo toho, aby objekty po jejich načtení vyfiltroval PowerShell.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-Force
Vynutí spuštění příkazu bez výzvy k potvrzení uživatele. Implementace se liší od zprostředkovatele po zprostředkovatele. Další informace naleznete v tématu about_Providers.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Include
Určuje, jako pole řetězců, položku nebo položky, které tato rutina přesune v operaci. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek cesty nebo vzor, například "*.txt". Jsou povoleny zástupné znaky.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-LiteralPath
Určuje cestu k aktuálnímu umístění položek. Na rozdíl od parametru Path se hodnota LiteralPath 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.
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 |
-PassThru
Vrátí objekt představující položku, se kterou pracujete. 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 k aktuálnímu umístění položek. Výchozí hodnota je aktuální adresář. Jsou povoleny zástupné znaky.
Typ: | String[] |
Position: | 0 |
Default value: | Current directory |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | True |
-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 representing the moved item.
Pokud použijete parametr PassThru, tato rutina vygeneruje objekt představující přesunutou položku. Jinak tato rutina negeneruje žádný výstup.
Poznámky
Tato rutina přesune soubory mezi jednotkami podporovanými stejným poskytovatelem, ale přesune adresáře pouze na stejnou jednotku.
Vzhledem k tomu, že příkaz Move-Item
přesune vlastnosti, obsah a podřízené položky položky, jsou všechny přesuny ve výchozím nastavení rekurzivní.
Tato rutina je navržená tak, aby fungovala s daty vystavenými jakýmkoli poskytovatelem.
Pokud chcete zobrazit seznam poskytovatelů dostupných v relaci, zadejte Get-PSProvider
.
Další informace naleznete v tématu about_Providers.