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 enheten C: 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: Rekursivt flytta 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. 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 Get-ChildItem flyttar inte heller dolda filer. Om du vill flytta dolda filer använder du parametern Force med Get-ChildItem.

Anteckning

I Windows PowerShell 2.0 måste värdet för parametern Path vara en container när du använder parametern Get-ChildItemRecurse för cmdleten. Använd parametern Include 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 MyCompanyHKLM\SoftwareMyNewCompany till 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 i 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öger hakparentes ([ 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.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Anteckning

Den här parametern stöds inte av några providers 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.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Destination

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

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

Type:String
Position:1
Default value:Current directory
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Exclude

Anger, som en strängmatris, ett objekt eller objekt som denna cmdlet 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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 filterspråket FileSystem i about_Wildcards. Filter är mer effektiva ä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 efter att de har hämtats.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Anger, som en strängmatris, ett objekt eller objekt som denna cmdlet 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 C:\Windows katalogen.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 talar om för PowerShell att inga tecken ska tolkas som escape-sekvenser.

Mer information finns i about_Quoting_Rules.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Returnerar ett objekt som representerar det flyttade objektet. Som standard genererar denna cmdlet inga utdata.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Anger sökvägen till objektens aktuella plats. Standardvärdet är den aktuella katalogen. Jokertecken tillåts.

Type:String[]
Position:0
Default value:Current directory
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

String

Du kan skicka en sträng som innehåller en sökväg till denna cmdlet.

Utdata

None

Som standard returnerar denna cmdlet 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 de providrar som är tillgängliga i sessionen skriver du Get-PSProvider. Mer information finns i about_Providers.