Delen via


Move-Item

Hiermee verplaatst u een item van de ene locatie naar de andere.

Syntaxis

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

De cmdlet Move-Item verplaatst een item, inclusief de eigenschappen, inhoud en onderliggende items, van de ene locatie naar de andere locatie. De locaties moeten worden ondersteund door dezelfde provider.

Het kan bijvoorbeeld een bestand of submap van de ene map naar de andere verplaatsen of een registersubsleutel van de ene sleutel naar de andere verplaatsen. Wanneer u een item verplaatst, wordt het toegevoegd aan de nieuwe locatie en verwijderd van de oorspronkelijke locatie.

Voorbeelden

Voorbeeld 1: Een bestand verplaatsen naar een andere map en de naam ervan wijzigen

Met deze opdracht verplaatst u het Test.txt bestand van het C: station naar de E:\Temp map en wijzigt u de naam van het test.txt in tst.txt.

Move-Item -Path C:\test.txt -Destination E:\Temp\tst.txt

Voorbeeld 2: Een map en de inhoud ervan verplaatsen naar een andere map

Met deze opdracht verplaatst u de C:\Temp map en de inhoud ervan naar de C:\Logs map. De Temp map en alle bijbehorende submappen en bestanden worden vervolgens weergegeven in de map Logs.

Move-Item -Path C:\Temp -Destination C:\Logs

Voorbeeld 3: alle bestanden van een opgegeven extensie van de huidige map naar een andere map verplaatsen

Met deze opdracht worden alle tekstbestanden (*.txt) verplaatst in de huidige map (vertegenwoordigd door een punt (.)) naar de C:\Logs map.

Move-Item -Path .\*.txt -Destination C:\Logs

Voorbeeld 4: Verplaats recursief alle bestanden van een opgegeven extensie van de huidige map naar een andere map

Met deze opdracht worden alle tekstbestanden uit de huidige map en alle submappen recursief verplaatst naar de C:\TextFiles map.

Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"

De opdracht gebruikt de cmdlet Get-ChildItem om alle onderliggende items in de huidige map op te halen (vertegenwoordigd door de punt (.)) en de submappen met een *.txt bestandsnaamextensie. De parameter Recurse wordt gebruikt om recursief voor het ophalen en de parameter Include te maken om het ophalen van *.txt bestanden te beperken.

De pijplijnoperator (|) verzendt de resultaten van deze opdracht naar Move-Item, waardoor de tekstbestanden naar de TextFiles map worden verplaatst.

Als bestanden die moeten worden verplaatst naar C:\Textfiles dezelfde naam hebben, geeft Move-Item een fout weer en gaat het door, maar er wordt slechts één bestand met elke naam naar C:\Textfilesverplaatst. De andere bestanden blijven in de oorspronkelijke mappen staan.

Als de Textfiles map (of een ander element van het doelpad) niet bestaat, mislukt de opdracht. De ontbrekende map wordt niet voor u gemaakt, zelfs niet als u de parameter Force gebruikt. Move-Item verplaatst het eerste item naar een bestand met de naam Textfiles en geeft vervolgens een fout weer waarin wordt uitgelegd dat het bestand al bestaat.

Bovendien worden Get-ChildItem standaard geen verborgen bestanden verplaatst. Als u verborgen bestanden wilt verplaatsen, gebruikt u de parameter Force met Get-ChildItem.

Notitie

Wanneer u in Windows PowerShell 2.0 de parameter Recurse van de cmdlet Get-ChildItem gebruikt, moet de waarde van de parameter Path een container zijn. Gebruik de parameter Include om het filter voor de bestandsnaamextensie van de *.txt op te geven (Get-ChildItem -Path .\* -Include *.txt -Recurse | Move-Item -Destination C:\TextFiles).

Voorbeeld 5: Registersleutels en -waarden verplaatsen naar een andere sleutel

Met deze opdracht worden de registersleutels en -waarden binnen de MyCompany registersleutel in HKLM\Software verplaatst naar de MyNewCompany sleutel. Het jokerteken (*) geeft aan dat de inhoud van de MyCompany sleutel moet worden verplaatst, niet de sleutel zelf. In deze opdracht worden de optionele Path en Destination parameternamen weggelaten.

Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"

Voorbeeld 6: Een map en de inhoud ervan verplaatsen naar een submap van de opgegeven map

Met deze opdracht verplaatst u de Logs[Sept`06] map (en de inhoud ervan) naar de Logs[2006] map.

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

De parameter LiteralPath wordt gebruikt in plaats van Pad, omdat de oorspronkelijke mapnaam[ en rechterhaaktekens ([ en ]) bevat. Het pad staat ook tussen enkele aanhalingstekens ('), zodat het backtick-symbool (`) niet verkeerd wordt geïnterpreteerd.

De parameter Destination moet ook tussen enkele aanhalingstekens staan, omdat deze haakjes bevat die verkeerd kunnen worden geïnterpreteerd.

Parameters

-Confirm

U wordt gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliassen:cf
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Credential

Notitie

Deze parameter wordt niet ondersteund door providers die zijn geïnstalleerd met PowerShell. Als u een andere gebruiker wilt imiteren of uw referenties wilt verhogen bij het uitvoeren van deze cmdlet, gebruikt u Invoke-Command-.

Type:PSCredential
Position:Named
Default value:Current user
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Destination

Hiermee geeft u het pad naar de locatie waar de items worden verplaatst. De standaardwaarde is de huidige map. Jokertekens zijn niet toegestaan.

Als u de naam van het item wilt wijzigen dat wordt verplaatst, geeft u een nieuwe naam op in de waarde van de parameter Destination.

Type:String
Position:1
Default value:Current directory
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:True

-Exclude

Hiermee geeft u, als een tekenreeksmatrix, een item of items op die door deze cmdlet worden uitgesloten in de bewerking. De waarde van deze parameter komt in aanmerking voor de parameter Path. Voer een padelement of patroon in, zoals *.txt. Jokertekens zijn toegestaan. De parameter Uitsluiten is alleen van kracht wanneer de opdracht de inhoud van een item bevat, zoals C:\Windows\*, waarbij het jokerteken de inhoud van de C:\Windows map aangeeft.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:True

-Filter

Hiermee geeft u een filter op om de parameter Path te kwalificeren. De FileSystem-provider is de enige geïnstalleerde PowerShell-provider die het gebruik van filters ondersteunt. U vindt de syntaxis voor de Bestandssysteem filtertaal in about_Wildcards. Filters zijn efficiënter dan andere parameters, omdat de provider deze toepast wanneer de cmdlet de objecten ophaalt in plaats van PowerShell de objecten te filteren nadat ze zijn opgehaald.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:True

-Force

Hiermee dwingt u de opdracht uit te voeren zonder dat u om bevestiging van de gebruiker wordt gevraagd. Implementatie varieert van provider tot provider. Zie about_Providersvoor meer informatie.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Include

Hiermee geeft u, als tekenreeksmatrix, een item of items op die deze cmdlet in de bewerking bevat. De waarde van deze parameter komt in aanmerking voor de parameter Path. Voer een padelement of patroon in, zoals *.txt. Jokertekens zijn toegestaan. De parameter Opnemen is alleen van kracht wanneer de opdracht de inhoud van een item bevat, zoals C:\Windows\*, waarbij het jokerteken de inhoud van de C:\Windows map aangeeft.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:True

-LiteralPath

Hiermee geeft u een pad naar een of meer locaties. De waarde van LiteralPath- wordt exact gebruikt zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escapetekens bevat, plaatst u het tussen enkele aanhalingstekens ('). Enkele aanhalingstekens geven PowerShell aan dat er geen tekens als escapereeksen moeten worden geïnterpreteerd.

Zie about_Quoting_Rulesvoor meer informatie.

Type:String[]
Aliassen:PSPath, LP
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-PassThru

Hiermee wordt een object geretourneerd dat het verplaatste item vertegenwoordigt. Deze cmdlet genereert standaard geen uitvoer.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Path

Hiermee geeft u het pad naar de huidige locatie van de items. De standaardwaarde is de huidige map. Jokertekens zijn toegestaan.

Type:String[]
Position:0
Default value:Current directory
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:True

-WhatIf

Toont wat er zou gebeuren als de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliassen:wi
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

String

U kunt een tekenreeks met een pad naar deze cmdlet doorsluisen.

Uitvoerwaarden

None

Deze cmdlet retourneert standaard geen uitvoer.

PSObject

Wanneer u de parameter PassThru gebruikt, retourneert deze cmdlet een object dat het verplaatste item vertegenwoordigt.

Notities

PowerShell bevat de volgende aliassen voor Move-Item:

  • Alle platforms:

    • mi
    • move
  • Ramen:

    • mv
  • Met deze cmdlet worden bestanden verplaatst tussen stations die worden ondersteund door dezelfde provider, maar worden mappen alleen binnen hetzelfde station verplaatst.

  • Omdat een Move-Item opdracht de eigenschappen, inhoud en onderliggende items van een item verplaatst, zijn alle verplaatsingen standaard recursief.

  • Deze cmdlet is ontworpen om te werken met de gegevens die door elke provider worden weergegeven. Als u de providers wilt weergeven die beschikbaar zijn in uw sessie, typt u Get-PSProvider. Zie about_Providersvoor meer informatie.