Sdílet prostřednictvím


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

String

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

PSObject

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.