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]
[<CommonParameters>]
Move-Item
-LiteralPath <String[]>
[[-Destination] <String>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<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 z C:
jednotky do E:\Temp
adresáře a přejmenuje ho na test.txt
tst.txt
.Test.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 C:\Temp
adresář a jeho obsah do C:\Logs
adresáře.
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 C:\Logs
adresáře.
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 C:\TextFiles
adresáře.
Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"
Příkaz pomocí rutiny Get-ChildItem
získá všechny podřízené položky v aktuálním adresáři (reprezentované tečkou (.
)) a jeho podadresáře, které mají příponu *.txt
názvu souboru. Pomocí parametru Recurse provede rekurzivní načtení a parametr Include k omezení načítání na *.txt
soubory.
Operátor kanálu (|
) odešle výsledky tohoto příkazu Move-Item
, který přesune textové soubory do TextFiles
adresáře.
Pokud se soubory, které se mají přesunout, aby C:\Textfiles
měly stejný název, Move-Item
zobrazí chybu a bude pokračovat, ale přesune se do nich jenom jeden soubor s každým názvem C:\Textfiles
. Ostatní soubory zůstanou v původních adresářích.
Textfiles
Pokud adresář (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 volaný Textfiles
soubor 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:
Při použití parametru Recurse rutiny Get-ChildItem
ve Windows PowerShellu 2.0 musí být hodnota parametru Path kontejnerem. Pomocí parametru Include zadejte filtr přípony *.txt
názvu souboru (Get-ChildItem -Path .\* -Include *.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 MyCompany
HKLM\Software
registru do MyNewCompany
klíče. Zástupný znak (*
) označuje, že se má přesunout obsah MyCompany
klíče, 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 Logs[Sept`06]
adresář (a jeho obsah) do Logs[2006]
adresáře.
Move-Item -LiteralPath 'Logs[Sept`06]' -Destination 'Logs[2006]'
Místo Path se používá parametr LiteralPath, protože původní název adresáře obsahuje levé závorky a znaky 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 musí být také uzavřen v jednoduchých uvozovkách, protože obsahuje hranaté závorky, které lze chybně interpretovat.
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 |
-Destination
Určuje cestu k umístění, kam se položky přesouvají. Výchozí je aktuální adresář. Zástupné cardy nejsou povolené.
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 vylučuje v operaci. Hodnota tohoto parametru kvalifikuje parametr Path . Zadejte element nebo vzor cesty, například *.txt
. Jsou povoleny zástupné znaky. Parametr Exclude je účinný pouze v případě, že příkaz obsahuje obsah položky, například C:\Windows\*
, kde zástupný znak určuje obsah C:\Windows
adresáře.
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, který má kvalifikovat parametr Path . Zprostředkovatel fileSystem je jediným nainstalovaným poskytovatelem PowerShellu, který podporuje použití filtrů. Syntaxi jazyka filtru FileSystem najdete v about_Wildcards. 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 najdete 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 zahrnuje v operaci. Hodnota tohoto parametru kvalifikuje parametr Path . Zadejte element nebo vzor cesty, například *.txt
. Jsou povoleny zástupné znaky. Parametr Include je efektivní pouze v případě, že příkaz obsahuje obsah položky, například C:\Windows\*
, kde zástupný znak určuje obsah C:\Windows
adresáře.
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 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 |
-PassThru
Vrátí objekt představující přesunutou položku. 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í 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 |
-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řesunutou položku.
Poznámky
PowerShell obsahuje následující aliasy pro Move-Item
:
Všechny platformy:
mi
move
Windows:
mv
Tato rutina přesune soubory mezi jednotkami podporovanými stejným poskytovatelem, ale přesune adresáře pouze na stejnou jednotku.
Move-Item
Protože příkaz přesune vlastnosti, obsah a podřízené položky položky, všechny přesuny jsou 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 najdete v tématu about_Providers.