Megosztás a következőn keresztül:


Move-Item

Elem áthelyezése egyik helyről a másikra.

Syntax

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

A Move-Item parancsmag áthelyez egy elemet, beleértve annak tulajdonságait, tartalmát és gyermekelemeit egyik helyről a másik helyre. A helyeket ugyanannak a szolgáltatónak kell támogatnia.

Áthelyezhet például egy fájlt vagy alkönyvtárat egyik könyvtárból a másikba, vagy áthelyezhet egy beállításjegyzék-alkulcsot egyik kulcsról a másikra. Amikor áthelyez egy elemet, az új helyre kerül, és törlődik az eredeti helyről.

Példák

1. példa: Fájl áthelyezése egy másik könyvtárba és átnevezése

Ez a parancs áthelyezi a Test.txt fájlt a C: meghajtóról a E:\Temp könyvtárba, és átnevezi test.txt-ról tst.txt.

Move-Item -Path C:\test.txt -Destination E:\Temp\tst.txt

2. példa: Könyvtár és tartalma áthelyezése másik könyvtárba

Ez a parancs áthelyezi a C:\Temp könyvtárat és annak tartalmát a C:\Logs könyvtárba. A Temp könyvtár, valamint annak összes alkönyvtára és fájlja megjelenik a Logs könyvtárban.

Move-Item -Path C:\Temp -Destination C:\Logs

3. példa: Egy adott bővítmény összes fájljának áthelyezése az aktuális könyvtárból egy másik könyvtárba

Ez a parancs az aktuális könyvtárban lévő összes szövegfájlt (*.txt) a C:\Logs könyvtárba helyezi át (amelyet pont (.)) jelöl.

Move-Item -Path .\*.txt -Destination C:\Logs

4. példa: Egy adott bővítmény összes fájljának rekurzív áthelyezése az aktuális könyvtárból egy másik könyvtárba

Ez a parancs az összes szövegfájlt áthelyezi az aktuális könyvtárból és az összes alkönyvtárból rekurzív módon a C:\TextFiles könyvtárba.

Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"

A parancs a Get-ChildItem parancsmaggal kéri le az aktuális könyvtár összes gyermekelemét (amelyet a pont (.)) és annak alkönyvtárai jelölnek, amelyek *.txt fájlnévkiterjesztéssel rendelkeznek. A Recurse paraméter használatával teszi rekurzívvá a lekérést, és a Include paramétert a lekérés *.txt fájlokra való korlátozásához.

A folyamatkezelő (|) elküldi a parancs eredményeit Move-Item, amely a szövegfájlokat a TextFiles könyvtárba helyezi át.

Ha a C:\Textfiles áthelyezendő fájlok neve megegyezik, Move-Item hibaüzenet jelenik meg, és folytatódik, de csak egy fájl kerül C:\Textfiles. A többi fájl az eredeti könyvtárakban marad.

Ha a Textfiles könyvtár (vagy a célútvonal bármely más eleme) nem létezik, a parancs meghiúsul. A hiányzó könyvtár akkor sem jön létre, ha a Force paramétert használja. Move-Item áthelyezi az első elemet egy Textfiles nevű fájlba, majd hibaüzenet jelenik meg, amely azt jelzi, hogy a fájl már létezik.

Emellett alapértelmezés szerint Get-ChildItem nem helyezi át a rejtett fájlokat. Rejtett fájlok áthelyezéséhez használja a Force paramétert Get-ChildItem.

Jegyzet

A Windows PowerShell 2.0-ban a Get-ChildItem parancsmag Recurse paraméterének használatakor a Elérési út paraméter értékének tárolónak kell lennie. A Include paraméter használatával adja meg a *.txt fájlnévkiterjesztés szűrőt (Get-ChildItem -Path .\* -Include *.txt -Recurse | Move-Item -Destination C:\TextFiles).

5. példa: Beállításkulcsok és értékek áthelyezése egy másik kulcsra

Ez a parancs áthelyezi a beállításkulcsokat és -értékeket a HKLM\SoftwareMyCompany beállításkulcsán belül a MyNewCompany kulcsra. A helyettesítő karakter (*) azt jelzi, hogy a MyCompany kulcs tartalmát át kell helyezni, nem magát a kulcsot. Ebben a parancsban a választható Elérési út és Cél paraméternevek nem lesznek megadva.

Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"

6. példa: Könyvtár és tartalma áthelyezése a megadott könyvtár alkönyvtárába

Ez a parancs áthelyezi a Logs[Sept`06] könyvtárat (és annak tartalmát) a Logs[2006] könyvtárba.

Move-Item -LiteralPath 'Logs[Sept`06]' -Destination 'Logs[2006]'

A LiteralPath paramétert használja Elérési úthelyett, mivel az eredeti könyvtárnév bal és jobb oldali szögletes zárójel karaktereket ([ és ]) tartalmaz. Az elérési út egy idézőjelbe (') is be van zárva, hogy a háttérjel (`) ne legyen félreértve.

A Cél paramétert idézőjelek közé is kell foglalni, mert olyan zárójeleket is tartalmaz, amelyek félreérthetőek.

Paraméterek

-Confirm

Megerősítést kér a parancsmag futtatása előtt.

Típus:SwitchParameter
Aliasok:cf
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Credential

Jegyzet

Ezt a paramétert a PowerShell-lel telepített szolgáltatók nem támogatják. Ha megszemélyesíteni szeretne egy másik felhasználót, vagy a parancsmag futtatásakor emeli a hitelesítő adatait, használja a Invoke-Command.

Típus:PSCredential
Position:Named
Alapértelmezett érték:Current user
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-Destination

Megadja az elemek áthelyezési helyének elérési útját. Az alapértelmezett az aktuális könyvtár. A helyettesítő karakterek használata nem engedélyezett.

Az áthelyezett elem átnevezéséhez adjon meg egy új nevet a Cél paraméter értékében.

Típus:String
Position:1
Alapértelmezett érték:Current directory
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:True

-Exclude

Sztringtömbként olyan elemet vagy elemeket határoz meg, amelyeket ez a parancsmag kizár a műveletből. Ennek a paraméternek az értéke a Elérési út paramétert minősíti. Adjon meg egy elérési út elemet vagy mintát, például *.txt. A helyettesítő karakterek használata engedélyezett. A Kizárás paraméter csak akkor érvényes, ha a parancs egy elem tartalmát tartalmazza, például C:\Windows\*, ahol a helyettesítő karakter a C:\Windows könyvtár tartalmát adja meg.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:True

-Filter

Egy szűrőt ad meg a Elérési út paraméter minősítéséhez. A Fájlrendszer szolgáltató az egyetlen telepített PowerShell-szolgáltató, amely támogatja a szűrők használatát. A FileSystem szűrőnyelvének szintaxisa about_Wildcards. A szűrők hatékonyabbak, mint a többi paraméter, mivel a szolgáltató akkor alkalmazza őket, amikor a parancsmag lekéri az objektumokat, és nem azt, hogy a PowerShell szűrje az objektumokat a lekérés után.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:True

-Force

Kényszeríti a parancs futtatását anélkül, hogy felhasználói megerősítést kérne. A megvalósítás szolgáltatónként eltérő. További információ: about_Providers.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Include

Sztringtömbként egy elemet vagy elemet határoz meg, amelyet ez a parancsmag tartalmaz a műveletben. Ennek a paraméternek az értéke a Elérési út paramétert minősíti. Adjon meg egy elérési út elemet vagy mintát, például *.txt. A helyettesítő karakterek használata engedélyezett. Az Include paraméter csak akkor érvényes, ha a parancs egy elem tartalmát tartalmazza, például C:\Windows\*, ahol a helyettesítő karakter a C:\Windows könyvtár tartalmát adja meg.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:True

-LiteralPath

Egy vagy több hely elérési útját adja meg. A LiteralPath értéke pontosan a beíráskor használatos. A rendszer egyetlen karaktert sem értelmez helyettesítő karakterként. Ha az elérési út tartalmaz feloldó karaktereket, csatolja egy idézőjelbe ('). Az idézőjelek azt mondják a PowerShellnek, hogy ne értelmezzen karaktereket feloldósorozatként.

További információ: about_Quoting_Rules.

Típus:String[]
Aliasok:PSPath, LP
Position:Named
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-PassThru

Az áthelyezett elemet jelképező objektumot ad vissza. Ez a parancsmag alapértelmezés szerint nem hoz létre kimenetet.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Path

Megadja az elemek aktuális helyének elérési útját. Az alapértelmezett az aktuális könyvtár. A helyettesítő karakterek használata engedélyezett.

Típus:String[]
Position:0
Alapértelmezett érték:Current directory
Kötelező:True
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:True

-WhatIf

Megjeleníti, mi történne, ha a parancsmag futna. A parancsmag nem fut.

Típus:SwitchParameter
Aliasok:wi
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

Bevitelek

String

A parancsmag elérési útját tartalmazó sztringet csövezheti.

Kimenetek

None

Ez a parancsmag alapértelmezés szerint nem ad vissza kimenetet.

PSObject

A PassThru paraméter használatakor ez a parancsmag az áthelyezett elemet képviselő objektumot adja vissza.

Jegyzetek

A PowerShell a következő aliasokat tartalmazza Move-Item:

  • Minden platform:

    • mi
    • move
  • Windows:

    • mv
  • Ez a parancsmag áthelyezi a fájlokat az ugyanazon szolgáltató által támogatott meghajtók között, de a könyvtárakat csak ugyanazon a meghajtón belül helyezi át.

  • Mivel egy Move-Item parancs áthelyezi egy elem tulajdonságait, tartalmát és gyermekelemeit, az összes áthelyezés alapértelmezés szerint rekurzív.

  • Ez a parancsmag úgy lett kialakítva, hogy bármely szolgáltató által közzétett adatokkal működjön együtt. A munkamenetben elérhető szolgáltatók listájához írja be a Get-PSProvider. További információ: about_Providers.