Move-Item

dec 18, 2021
Modul: Microsoft.PowerShell.Management

Förflyttar ett objekt från en plats till en annan.

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

-Confirm

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
-Credential

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

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

-Exclude

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
-Filter

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
-Force

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
-Include

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
-LiteralPath

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
-PassThru

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
-Sökväg

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
-WhatIf

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

Lämna ett svar

Din e-postadress kommer inte publiceras.