Förflyttar ett objekt från en plats till en annan.
- Syntax
- Beskrivning
- Exempel
- Exempel 1: Flytta en fil till en annan katalog och byta namn på den
- Exempel 2: Flytta en katalog och dess innehåll till en annan katalog
- Exempel 3: Flytta alla filer med en angiven filändelse från den aktuella katalogen till en annan katalog
- Exempel 4: Rekursivt flytta alla filer med ett angivet tillägg från den aktuella katalogen till en annan katalog
- Exempel 5: Flytta registernycklar och -värden till en annan nyckel
- Exempel 6: Flytta en katalog och dess innehåll till en underkatalog till den angivna katalogen
- Parametrar
- Inputs
- Outputs
- Anmärkningar
Syntax
Beskrivning
Cmdletten 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 leverantör.Det kan till exempel flytta en fil eller en 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 den ursprungliga platsen.
Exempel
Exempel 1: Flytta en fil till en annan katalog och byta namn på den
Detta kommando flyttar filen Test.txt
från enheten C:
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
Detta kommando flyttar katalogen C:\Temp
och dess innehåll till katalogen C:\Logs
.Katalogen ”Temp” och alla dess underkataloger och filer visas då i katalogen ”Logs”.
Move-Item -Path C:\Temp -Destination C:\Logs
Exempel 3: Flytta alla filer med en angiven filändelse från den aktuella katalogen till en annan katalog
Detta kommando flyttar alla textfiler (*.txt
) i den aktuella katalogen (representerad av en punkt(.
)) till katalogen C:\Logs
.
Move-Item -Path .\*.txt -Destination C:\Logs
Exempel 4: Rekursivt flytta alla filer med ett angivet tillägg från den aktuella katalogen till en annan katalog
Detta kommando 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 cmdlet Get-ChildItem
för att hämta alla underordnade objekt i den aktuella katalogen (representerad av punkten) och dess underkataloger som har en ”.Det 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.
Pipelineoperatören (|
) skickar resultaten av det här kommandot till Move-Item
, som flyttar textfilerna till katalogen ”TextFiles”.
Om de filer som ska flyttas till ”C:\Textfiles” har samma namn, visar Move-Item
ett fel och fortsätter, men flyttar bara en fil med samma namn till ”C:\Textfiles”.De andra filerna ligger kvar i sina ursprungliga kataloger.
Om katalogen ”Textfiles” (eller någon annan del av målvägen) inte finns, misslyckas kommandot.Den saknade katalogen skapas inte åt dig, även om du använder parametern Force.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.
Det är också standard att Get-ChildItem
inte flyttar dolda filer.Om du vill flytta dolda filer använder du Force-parametern tillsammans med Get-ChildItem
.
Notera
I Windows PowerShell 2.0, när du använder parametern Recurse i cmdlet Get-ChildItem
, måste värdet för Path-parametern vara en container.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
Detta kommando flyttar registernycklarna och -värdena i registernyckeln ”MyCompany” iHKLM\Software
till nyckeln ”MyNewCompany”.Jokertecknet (*
) anger att det är innehållet i nyckeln ”MyCompany” som ska flyttas, inte själva nyckeln.I det här kommandot utelämnas de valfria parameternamnen Path och Destination.
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” (och dess innehåll) till katalogen ”Logs”.
Move-Item -LiteralPath 'Logs' -Destination 'Logs'
Parametern LiteralPath används i stället för Path, eftersom det ursprungliga katalognamnet innehåller tecken inom vänster och höger parentes (””).Sökvägen är också omsluten av enkla citattecken (’ ’), så att backtick-symbolen (`) inte misstolkas.
Destinationsparametern kräver inte en bokstavlig sökväg, eftersom destinationsvariabeln ocksåmåste omslutas av enkla citattecken, eftersom den innehåller hakparenteser som kan misstolkas.
Parametrar
Fråger dig om bekräftelse innan du kör cmdlet.
Typ: | SwitchParameter |
Alias: | cf |
Position: | Named |
Standardvärde: | False |
Accept pipeline input: | False |
Acceptera jokertecken: | False |
Anm.
Den här parametern stöds inte av någon leverantör som installerats med PowerShell.Använd Invoke-Command om du vill utge dig för att vara en annan användare eller höja dina autentiseringsuppgifter när du kör det här cmdlet.
Typ: | PSCredential |
Position: | Named |
Standardvärde: | Aktuell användare |
Acceptera inmatning från pipeline: | True |
Acceptera jokertecken: | False |
Anger sökvägen till den plats dit objekten flyttas.Standardvärdet är den aktuella katalogen.Jokertecken är tillåtna, men resultatet måste ange en enda plats.
Om du vill byta namn på det objekt som ska flyttas anger du ett nytt namn i värdet för destinationsparametern.
Typ: | String |
Position: | 1 |
Standardvärde: | Aktuell katalog |
Acceptera inmatning från pipeline: | True |
Acceptera jokertecken: | True |
Anger som en strängarray ett eller flera objekt som den här cmdlet utesluter i åtgärden. Värdet på den här parametern är ett villkor för parametern Path. Ange ett sökvägselement eller ett mönster, till exempel*.txt
. Jokertecken är tillåtna. Parametern Exclude är endast effektiv när kommandot inkluderar innehållet i ett objekt, t.ex. C:\Windows\*
, där jokertecknet anger innehållet i katalogen C:\Windows
.
Typ: | Sträng |
Position: | Namngiven |
Standardvärde: | Inget |
Acceptera inmatning från pipeline: | False |
Accept wildcard characters: | True |
Specifierar ett filter för att kvalificera Path-parametern. FileSystemprovider är den enda installerade PowerShell-provider som stöder användningen av filter. Syntaxen för FileSystem-filterspråket finns i about_Wildcards.Filter är effektivare än andra parametrar, eftersom leverantören tillämpar dem när cmdletgets objekten i stället för att låta PowerShell filtrera objekten efter att de hämtats.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Acceptera inmatning från pipeline: | False |
Accept wildcard characters: | True |
Forcerar att kommandot ska köras utan att be om bekräftelse från användaren.Implementeringen varierar från leverantör till leverantör.För mer information, se about_Providers.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Acceptera inmatning från pipeline: | False |
Acceptera jokertecken: | False |
Anger, som en strängarray, ett eller flera objekt som den här cmdlet ska inkludera i åtgärden. Värdet på den här parametern är ett villkor för parametern Path. Ange ett sökvägselement eller ett mönster, till exempel"*.txt"
. Jokertecken är tillåtna. Parametern Include är endast effektiv när kommandot inkluderar innehållet i ett objekt, t.ex. C:\Windows\*
, där jokertecknet anger innehållet i katalogen C:\Windows
.
Typ: | Sträng |
Position: | Namngiven |
Standardvärde: | Inget |
Acceptera inmatning från pipeline: | False |
Accept wildcard characters: | True |
Anger en sökväg till en eller flera platser. Värdet för LiteralPath används exakt så som det är skrivet. Inga tecken tolkas som jokertecken. Om sökvägen innehåller escape-tecken ska den omges av enkla citattecken. Enkla citattecken talar om för PowerShell att inga tecken ska tolkas som escape-sekvenser.
För mer information, se about_Quoting_Rules.
Typ: | String |
Alias: | PSPath, LP |
Position: | Named |
Standardvärde: | None |
Accept pipeline input: | True |
Acceptera jokertecken: | False |
Returnerar ett objekt som representerar det objekt som du arbetar med.Som standard genererar den här cmdlet inget utdata.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Acceptera inmatning från pipeline: | False |
Accepterar jokertecken: | False |
Anger sökvägen till den aktuella platsen för objekt.Standardvärdet är den aktuella katalogen.Jokertecken är tillåtna.
Typ: | Sträng |
Position: | 0 |
Standardvärde: | Aktuell katalog |
Accepterar inmatning i pipeline: | True |
Acceptera jokertecken: | True |
Visar vad som händer om cmdlet körs.Cmdletten körs inte.
Typ: | SwitchParameter |
Alias: | wi |
Position: | Named |
Standardvärde: | False |
Accept pipeline input: | False |
Acceptera jokertecken: | False |
Inputs
String
Du kan leda en sträng som innehåller en sökväg till denna cmdlet.
Outputs
Ingen eller ett objekt som representerar det flyttade objektet
När du använder parametern PassThru genererar den här cmdlet ett objekt som representerar det flyttade objektet. i annat fall genererar den här cmdlet ingen output.
Anmärkningar
- Denna cmdlet flyttar filer mellan enheter som stöds av samma provider, men flyttar endast kataloger inom samma enhet.
- Eftersom ett
Move-Item
-kommando flyttar ett objekts egenskaper, innehåll och underordnade objekt är alla flyttar rekursiva som standard. - Denna cmdlet är utformad för att kunna arbeta med de data som exponeras av alla providers.Skriv
Get-PSProvider
om du vill visa en lista över de providers som är tillgängliga i sessionen.Mer information finns i about_Providers.
- Clear-Item
- Copy-Item
- Get-Item
- Invoke-Item
- New-Item
- Remove-Item
- Rename-Item
- Set-Item
- about_Providers