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 katalogen E:\Temp 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 katalogen C:\Temp och dess innehåll till katalogen C:\Logs. Katalogen Temp och alla dess underkataloger och filer visas sedan i katalogen Logs.

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 katalogen C:\Logs.

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 katalogen C:\TextFiles.

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 till katalogen TextFiles.

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

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

Som standard flyttar Get-ChildItem inte dolda filer. Om du vill flytta dolda filer använder du parametern Force med Get-ChildItem.

Not

När du använder parametern Recurse i cmdleten Get-ChildItem i Windows PowerShell 2.0 måste värdet för parametern Path vara en container. Använd parametern Include för att ange *.txt filnamnstilläggsfilter (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 MyCompany-registernyckeln i HKLM\Software till den MyNewCompany nyckeln. Jokertecknet (*) anger att innehållet i den MyCompany nyckeln ska flyttas, inte själva nyckeln. I det här kommandot utelämnas de valfria Path- och Destination-parameternamnen.

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 katalogen Logs[Sept`06] (och dess innehåll) till katalogen Logs[2006].

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

Parametern LiteralPath används i stället för Path, 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.

Parametern Mål 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

Not

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 parametern Destination.

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 Exclude gäller endast när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*, där jokertecknet anger innehållet i katalogen C:\Windows.

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 Path. FileSystem-providern är den enda installerade PowerShell-providern som stöder användning av filter. Du hittar syntaxen för FileSystem filterspråk 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 gäller endast när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*, där jokertecknet anger innehållet i katalogen C:\Windows.

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örs. 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 egenskaperna, innehållet och underordnade objekten 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.