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-ChildItem
Recurse 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 MyCompany
HKLM\Software
MyNewCompany
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, 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 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
Du kan skicka en sträng som innehåller en sökväg till denna cmdlet.
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 denna cmdlet 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 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.