Delen via


Move-Item

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

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

Met de Move-Item cmdlet wordt een item, inclusief de eigenschappen, inhoud en onderliggende items, van de ene locatie naar de andere verplaatst. 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 wordt het Test.txt bestand van het C: station naar de E:\Temp map verplaatst en wordt de naam ervan gewijzigd in test.txttst.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 wordt de map en de C:\Temp inhoud ervan naar de C:\Logs map verplaatst. De Temp map en alle bijbehorende submappen en bestanden worden vervolgens weergegeven in de Logs map.

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) in de huidige map (vertegenwoordigd door een punt (.)) naar de C:\Logs map verplaatst.

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

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

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

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

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

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

Als bestanden die moeten worden verplaatst, C:\Textfiles dezelfde naam hebben, Move-Item wordt een fout weergegeven en wordt doorgegaan, maar wordt slechts één bestand met elke naam verplaatst naar C:\Textfiles. 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.

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

Notitie

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

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

Met deze opdracht worden de registersleutels en -waarden binnen de MyCompany registersleutel naar HKLM\Software de MyNewCompany sleutel verplaatst. Het jokerteken (*) geeft aan dat de inhoud van de MyCompany sleutel moet worden verplaatst, niet de sleutel zelf. In deze opdracht worden de optionele parameternamen Pad en Doel 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 wordt de Logs[Sept`06] map (en de inhoud ervan) naar de Logs[2006] map verplaatst.

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

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

De doelparameter moet ook tussen enkele aanhalingstekens worden geplaatst, omdat deze vierkante haken bevat die verkeerd kunnen worden geïnterpreteerd.

Parameters

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Notitie

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

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Destination

Hiermee geeft u het pad op 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 doelparameter .

Type:String
Position:1
Default value:Current directory
Required:False
Accept pipeline input:True
Accept wildcard characters: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 path-parameter . Voer een padelement of -patroon in, zoals *.txt. Jokertekens zijn toegestaan. De parameter Exclude 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
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

Hiermee wordt de opdracht uitgevoerd zonder dat om bevestiging van de gebruiker wordt gevraagd. De implementatie verschilt per provider. Zie about_Providers voor meer informatie.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Hiermee geeft u, als een tekenreeksmatrix, een item of items op die deze cmdlet in de bewerking opneemt. De waarde van deze parameter komt in aanmerking voor de path-parameter . Voer een padelement of -patroon in, zoals *.txt. Jokertekens zijn toegestaan. De parameter Include 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
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-LiteralPath

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

Zie about_Quoting_Rules voor meer informatie.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Retourneert een object dat het verplaatste item vertegenwoordigt. Deze cmdlet genereert standaard geen uitvoer.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

String

U kunt een tekenreeks doorsnijden die een pad naar deze cmdlet bevat.

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 platformen:

    • mi
    • move
  • Windows:

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

  • Omdat met een Move-Item opdracht de eigenschappen, inhoud en onderliggende items van een item worden 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_Providers voor meer informatie.