Dela via


Move-Item

Flyttar ett objekt från en plats till en annan.

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

Cmdleten Move-Item flyttar ett objekt, inklusive dess egenskaper, innehåll och underordnade objekt, från en plats till en annan plats. Platserna måste stödjas av samma provider.

Den kan till exempel flytta en fil eller underkatalog från en katalog till en annan eller flytta en registerundernyckel från en nyckel till en annan. När du flyttar ett objekt läggs det till på den nya platsen och tas bort från dess ursprungliga plats.

Exempel

Exempel 1: Flytta en fil till en annan katalog och byt namn på den

Det här kommandot flyttar Test.txt filen från C: enheten till E:\Temp katalogen och byter namn på den från test.txt till tst.txt.

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

Exempel 2: Flytta en katalog och dess innehåll till en annan katalog

Det här kommandot flyttar C:\Temp katalogen och dess innehåll till C:\Logs katalogen. Katalogen Temp och alla dess underkataloger och filer visas sedan i Logs katalogen.

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

Exempel 3: Flytta alla filer i ett angivet tillägg från den aktuella katalogen till en annan katalog

Det här kommandot flyttar alla textfiler (*.txt) i den aktuella katalogen (representeras av en punkt (.)) till C:\Logs katalogen.

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

Exempel 4: Flytta rekursivt alla filer i ett angivet tillägg från den aktuella katalogen till en annan katalog

Det här kommandot flyttar alla textfiler från den aktuella katalogen och alla underkataloger rekursivt till C:\TextFiles katalogen.

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

Kommandot använder cmdleten Get-ChildItem för att hämta alla underordnade objekt i den aktuella katalogen (representeras av punkten (.)) och dess underkataloger som har filnamnstillägget *.txt . Den använder parametern Recurse för att göra hämtningen rekursiv och parametern Include för att begränsa hämtningen till *.txt filer.

Pipelineoperatorn (|) skickar resultatet av det här kommandot till Move-Item, som flyttar textfilerna TextFiles till katalogen.

Om filer som ska flyttas för att C:\Textfiles ha samma namn Move-Item visas ett fel och fortsätter, men den flyttar bara en fil med varje namn till C:\Textfiles. De andra filerna finns kvar i sina ursprungliga kataloger.

Om katalogen Textfiles (eller något annat element i målsökvägen) inte finns misslyckas kommandot. Den saknade katalogen skapas inte åt dig, även om du använder force-parametern. Move-Item flyttar det första objektet till en fil som heter Textfiles och visar sedan ett fel som förklarar att filen redan finns.

Som standard Get-ChildItem flyttas inte heller dolda filer. Om du vill flytta dolda filer använder du force-parametern med Get-ChildItem.

Kommentar

I Windows PowerShell 2.0 måste värdet för parametern Path vara en container när du använder parametern Get-ChildItem Recurse för cmdleten. Använd parametern Inkludera för att ange filnamnstilläggsfiltret *.txt (Get-ChildItem -Path .\* -Include *.txt -Recurse | Move-Item -Destination C:\TextFiles).

Exempel 5: Flytta registernycklar och -värden till en annan nyckel

Det här kommandot flyttar registernycklarna och värdena i registernyckeln MyCompany HKLM\Software till MyNewCompany nyckeln. Jokertecknet (*) anger att innehållet i MyCompany nyckeln ska flyttas, inte själva nyckeln. I det här kommandot utelämnas de valfria sökvägs - och målparameternamnen .

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

Exempel 6: Flytta en katalog och dess innehåll till en underkatalog till den angivna katalogen

Det här kommandot flyttar Logs[Sept`06] katalogen (och dess innehåll) till Logs[2006] katalogen.

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

Parametern LiteralPath används i stället för Sökväg, eftersom det ursprungliga katalognamnet innehåller vänster hakparentes och högerparentestecken ([ och ]). Sökvägen omges också av enkla citattecken ('), så att backtick-symbolen (`) inte misstolkas.

Målparametern måste också omges av enkla citattecken eftersom den innehåller hakparenteser som kan feltolkas.

Parametrar

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Typ:SwitchParameter
Alias:cf
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Credential

Kommentar

Den här parametern stöds inte av några leverantörer som är installerade med PowerShell. Om du vill personifiera en annan användare eller höja dina autentiseringsuppgifter när du kör den här cmdleten använder du Invoke-Command.

Typ:PSCredential
Position:Named
Standardvärde:Current user
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Destination

Anger sökvägen till den plats där objekten flyttas. Standardvärdet är den aktuella katalogen. Jokertecken är inte tillåtna.

Om du vill byta namn på objektet som flyttas anger du ett nytt namn i värdet för målparametern.

Typ:String
Position:1
Standardvärde:Current directory
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:True

-Exclude

Anger, som en strängmatris, ett objekt eller objekt som den här cmdleten exkluderar i åtgärden. Värdet för den här parametern kvalificerar parametern Path . Ange ett sökvägselement eller mönster, till exempel *.txt. Jokertecken tillåts. Parametern Exkludera gäller endast när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*, där jokertecknet anger innehållet i C:\Windows katalogen.

Typ:String[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:True

-Filter

Anger ett filter för att kvalificera parametern Sökväg . FileSystem-providern är den enda installerade PowerShell-providern som stöder användning av filter. Du hittar syntaxen för filterspråket FileSystem i about_Wildcards. Filter är effektivare än andra parametrar eftersom providern tillämpar dem när cmdleten hämtar objekten i stället för att Låta PowerShell filtrera objekten när de har hämtats.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:True

-Force

Tvingar kommandot att köras utan att be om användarbekräftelse. Implementeringen varierar från leverantör till leverantör. Mer information finns i about_Providers.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Include

Anger, som en strängmatris, ett objekt eller objekt som den här cmdleten innehåller i åtgärden. Värdet för den här parametern kvalificerar parametern Path . Ange ett sökvägselement eller mönster, till exempel *.txt. Jokertecken tillåts. Parametern Include är endast effektiv när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*, där jokertecknet anger innehållet i C:\Windows katalogen.

Typ:String[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:True

-LiteralPath

Anger en sökväg till en eller flera platser. Värdet för LiteralPath används exakt som det skrivs. Inga tecken tolkas som jokertecken. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken ('). Enkla citattecken gör att PowerShell inte tolkar några tecken som escape-sekvenser.

Mer information finns i about_Quoting_Rules.

Typ:String[]
Alias:PSPath, LP
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-PassThru

Returnerar ett objekt som representerar det flyttade objektet. Som standard genererar den här cmdleten inga utdata.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Path

Anger sökvägen till den aktuella platsen för objekten. Standardvärdet är den aktuella katalogen. Jokertecken tillåts.

Typ:String[]
Position:0
Standardvärde:Current directory
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:True

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

Typ:SwitchParameter
Alias:wi
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

String

Du kan skicka en sträng som innehåller en sökväg till den här cmdleten.

Utdata

None

Som standard returnerar den här cmdleten inga utdata.

PSObject

När du använder parametern PassThru returnerar den här cmdleten ett objekt som representerar det flyttade objektet.

Kommentarer

PowerShell innehåller följande alias för Move-Item:

  • Alla plattformar:

    • mi
    • move
  • Windows:

    • mv
  • Den här cmdleten flyttar filer mellan enheter som stöds av samma provider, men den flyttar endast kataloger inom samma enhet.

  • Eftersom ett Move-Item kommando flyttar egenskaper, innehåll och underordnade objekt i ett objekt är alla flyttningar rekursiva som standard.

  • Den här cmdleten är utformad för att fungera med data som exponeras av alla leverantörer. Om du vill visa en lista över tillgängliga leverantörer i sessionen skriver du Get-PSProvider. Mer information finns i about_Providers.