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]
    [-UseTransaction]
    [<CommonParameters>]
Move-Item
    -LiteralPath <String[]>
    [[-Destination] <String>]
    [-Force]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-PassThru]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [<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 filen "Test.txt" 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 "Loggar".

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

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

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 den flyttar bara en fil med varje namn till "C:\Textfiles". De andra filerna finns kvar i sina ursprungliga kataloger.

Om katalogen "Textfiler" (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 "Textfiler" 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.

Obs! När du använder parametern Recurse för 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).

Get-ChildItem -Path ".\*.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" i "HKLM\Software" till nyckeln "MyNewCompany". Jokertecknet ('*') anger att innehållet i "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]".

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

Parametern Mål kräver ingen literalsökväg eftersom målvariabeln också måste omges av enkla citattecken, eftersom den innehåller hakparenteser som kan feltolkas.

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

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 tillåts, men resultatet måste ange en enda plats.

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 denna cmdlet exkluderar från å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.

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

-Filter

Anger ett filter i providerns format eller språk. Värdet för den här parametern kvalificerar parametern Path.

Syntaxen för filtret, inklusive användningen av jokertecken, beror på providern. 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 cmdleten flyttar 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.

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

-LiteralPath

Anger sökvägen till den aktuella platsen för objekten. Till skillnad från parametern Path används värdet för LiteralPath precis 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.

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

-PassThru

Returnerar ett objekt som representerar det objekt som du arbetar med. 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

-UseTransaction

Innehåller kommandot i den aktiva transaktionen. Den här parametern är endast giltig när en transaktion pågår. Mer information finns i about_Transactions.

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

-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 or an object representing the moved item.

När du använder parametern PassThru genererar den här cmdleten ett objekt som representerar det flyttade objektet. Annars genererar den här cmdleten inga utdata.

Kommentarer

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.