- Syntaxe
- Popis
- Příklady
- Příklad 1: Přesun souboru do jiného adresáře a přejmenování
- Příklad 2: Přesun adresáře a jeho obsahu do jiného adresáře
- Příklad 3: Přesun všech souborů se zadanou příponou z aktuálního adresáře do jiného adresáře
- Příklad 4: Rekurzivní přesun všech souborů se zadanou příponou z aktuálního adresáře do jiného adresáře
- Příklad 5: Přesun klíčů a hodnot registru do jiného klíče
- Příklad 6: Přesun adresáře a jeho obsahu do podadresáře zadaného adresáře
- Parameters
- Inputs
- Výstupy
- Poznámky
Syntaxe
Popis
Kurzívní 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 zprostředkovatelem. 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 jiného. při přesunu je položka přidána do nového umístění a odstraněna z původního umístění.
Příklady
Příklad 1: Přesun souboru do jiného adresáře a přejmenování
Tento příkaz přesune soubor Test.txt
z jednotky C:
do adresáře E:\Temp
a přejmenuje jej z test.txt
na tst.txt
.
Move-Item -Path C:\test.txt -Destination E:\Temp\tst.txt
Příklad 2: Přesun 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 objeví v adresáři „Logs“.
Move-Item -Path C:\Temp -Destination C:\Logs
Příklad 3: Přesun všech souborů se zadanou příponou 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řesun všech souborů se zadanou příponou 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“.
Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"
Příkaz použije rutinu Get-ChildItem
k získání všech podřízených položek v aktuálním adresáři(reprezentovaném tečkou ) a jeho podadresářích, které mají „.txt“.Příkaz používá parametr Recurse pro rekurzivní vyhledávání a parametr Include pro omezení vyhledávání na soubory „.txt“.
Operátor pipeline (|
) odešle výsledky tohoto příkazu příkazu příkazu Move-Item
, který přesune textové soubory do adresáře „TextFiles“.
Pokud mají soubory, které mají být přesunuty do „C:\Textfiles“, stejné jméno, Move-Item
zobrazí chybu a pokračuje, ale do „C:\Textfiles“ přesune pouze jeden soubor s každým jménem. ostatní soubory zůstanou ve svých původních adresářích.
Pokud adresář „Textfiles“ (nebo jiný prvek cílové cesty) neexistuje, příkaz selže. chybějící adresář se nevytvoří, ani když použijete parametr Force.Příkaz Move-Item
přesune první položku do souboru s názvem „Textfiles“ a poté zobrazí chybu s vysvětlením, že soubor již existuje.
Příkaz Get-ChildItem
také ve výchozím nastavení nepřesouvá skryté soubory.Chcete-li přesunout skryté soubory, použijte parametr Force s příkazem Get-ChildItem
.
Poznámka
V prostředí Windows PowerShell 2.0 musí být při použití parametru Recurse rutiny Get-ChildItem
hodnotou parametru Path kontejner.
Příklad 5: Přesun klíčů a hodnot registru do jiného klíče
Tento příkaz přesune klíče a hodnoty registru v rámci klíče registru „MyCompany“ vHKLM\Software
do klíče „MyNewCompany“.Zástupný znak (*
) označuje, že má být přesunut obsah klíče „MyCompany“, nikoli klíč samotný.V tomto příkazu jsou vynechány nepovinné názvy parametrů Cesta a Cíl.
Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"
Příklad 6: Přesun adresáře a jeho obsahu do podadresáře zadaného adresáře
Tento příkaz přesune adresář „Logs“ (a jeho obsah) do adresáře „Logs“.
Move-Item -LiteralPath 'Logs' -Destination 'Logs'
Místo parametru Path se používá parametr LiteralPath, protože původní název adresářeobsahuje znaky levé a pravé závorky („“). cesta je také uzavřena v jednoduchých uvozovkách (“ ‚), aby nedošlo ke špatné interpretaci symbolu zpětného odkazu (`).
Parametr Destination nevyžaduje doslovnou cestu, protože proměnná Destination musí být také uzavřena v jednoduchých uvozovkách, protože obsahuje závorky, které mohou být chybně interpretovány.
Parameters
Před spuštěním rutiny vás vyzve k potvrzení.
Typ: | PřepínačParametr |
Aliasy: | cf |
Pozice: | Named |
Výchozí hodnota: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Poznámka
Tento parametr není podporován žádným poskytovatelem nainstalovaným s PowerShell.Chcete-li se při spouštění této rutiny vydávat za jiného uživatele nebo zvýšit své pověření,použijte příkaz Invoke-Command.
Typ: | PSCredential |
Pozice: | Jméno |
Výchozí hodnota: | Aktuální uživatel |
Přijmout vstup do potrubí: | True |
Accept wildcard characters: | False |
Určuje cestu k umístění, kam se položky přesouvají.Výchozí je aktuální adresář.Jsou povoleny zástupné znaky, ale výsledek musí určovat jediné umístění.
Chcete-li přejmenovat přesouvanou položku, zadejte nový název do hodnoty parametru Destination.
Typ: | Řetězec |
Poloha: | 1 |
Výchozí hodnota: | Aktuální adresář |
Přijmout zadání potrubí: | True |
Accept wildcard characters: | True |
Určuje jako řetězcové pole položku nebo položky, které tato rutina vyloučí z operace. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek nebo vzor cesty, například*.txt
. Zástupné znaky jsou povoleny. Parametr Exclude je účinný pouze v případě, že příkaz zahrnuje obsah položky, například C:\Windows\*
, kde zástupný znak určuje obsah adresáře C:\Windows
.
Typ: | Řetězec |
Pozice: | Název |
Výchozí hodnota: | Žádná |
Přijímá vstup z potrubí: | False |
Accept wildcard characters: | True |
Určuje filtr pro kvalifikaci parametru Path. Zprostředkovatel FileSystemprovider je jediným nainstalovaným zprostředkovatelem prostředí PowerShell, který podporuje použití filtrů. Syntaxi jazyka filtrů FileSystem naleznete v části about_Wildcards.Filtry jsou efektivnější než jiné parametry, protože poskytovatel je použije při načítání objektů, místo aby PowerShell filtroval objekty po jejich načtení.
Typ: | Řetězec |
Pozice: | Název |
Výchozí hodnota: | Žádná |
Přijímá vstup do potrubí: | False |
Accept wildcard characters: | True |
Způsobí spuštění příkazu bez vyžádání potvrzení uživatele.Implementace se u jednotlivých poskytovatelů liší, více informací naleznete v části about_Providers.
Typ: | PřepínačParametr |
Pozice: | Název |
Výchozí hodnota: | False |
Přijmout vstup z potrubí: | False |
Accept wildcard characters: | False |
Určuje jako řetězcové pole položku nebo položky, které tento rutina zahrnuje do operace. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek nebo vzor cesty, například"*.txt"
. Zástupné znaky jsou povoleny. Parametr Include je účinný pouze v případě, že příkaz zahrnuje obsah položky, například C:\Windows\*
, kde zástupný znak určuje obsah adresáře C:\Windows
.
Typ: | Řetězec |
Pozice: | Název |
Výchozí hodnota: | Žádná |
Přijímá vstup z potrubí: | False |
Accept wildcard characters: | True |
Určuje cestu k jednomu nebo více místům. Hodnota LiteralPath se použije přesně tak, jak je zadána. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje znaky escape, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají prostředí PowerShell, aby neinterpretovalo žádné znakyjako escape sekvence.
Další informace naleznete v části about_Quoting_Rules.
Typ: | Řetězec |
Aliasy: | PSPath, LP |
Pozice: | Název |
Výchozí hodnota: | Nic |
Přijímá vstup do potrubí: | True |
Accept wildcard characters: | False |
Vrací objekt reprezentující položku, se kterou pracujete.Ve výchozím nastavení tato rutina negeneruje žádný výstup.
Typ: | PřepínačParametr |
Pozice: | Název |
Výchozí hodnota: | False |
Přijímá vstup do potrubí: | False |
Accept wildcard characters: | False |
Určuje cestu k aktuálnímu umístění položek.Výchozí je aktuální adresář.Jsou povoleny zástupné znaky.
Typ: | Řetězec |
Poloha: | 0 |
Výchozí hodnota: | Aktuální adresář |
Přijímá vstup z potrubí: | True |
Accept wildcard characters: | True |
Ukazuje, co by se stalo, kdyby se cmdlet spustil.Rutina se nespustí.
Typ: | PřepínačParametr |
Aliasy: | wi |
Pozice: | Named |
Výchozí hodnota: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
String
Do této rutiny můžete vložit řetězec obsahující cestu.
Výstupy
Žádný nebo objekt reprezentující přesunutou položku
Pokud použijete parametr PassThru, tato rutina vygeneruje objekt reprezentující přesunutou položku. jinak tato rutina negeneruje žádný výstup.
Poznámky
- Tento rutina přesune soubory mezi jednotkami, které jsou podporovány stejným poskytovatelem, ale přesune pouze adresáře v rámci stejné jednotky.
- Protož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žena tak, aby pracovala s daty vystavenými libovolným poskytovatelem.Chcete-li zobrazit seznam poskytovatelů dostupných v relaci, zadejte příkaz
Get-PSProvider
. další informace naleznete v části about_Providers.
- Clear-Item
- Copy-Item
- Get-Item
- Invoke-Item
- New-Item
- Remove-Item
- Rename-Item
- Set-Item
- about_Providers
.