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
Met de Move-Item
cmdlet wordt een item, inclusief de eigenschappen, inhoud en onderliggende items, van de ene locatie naar de andere locatie 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 verplaatst u het Test.txt
bestand van het C:
station naar de E:\Temp
map en wijzigt u de naam van het bestand in test.txt
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 worden de C:\Temp
map en de 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: 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, naar de C:\TextFiles
map verplaatst.
Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"
De opdracht gebruikt de Get-ChildItem
cmdlet om alle onderliggende items in de huidige map op te halen (vertegenwoordigd door de punt (.
)) en de bijbehorende submappen met een *.txt
bestandsnaamextensie. De parameter Recurse wordt gebruikt om het ophalen recursief te maken en de parameter Include om het ophalen van 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
geeft u een fout weer en gaat u door, maar wordt er slechts één bestand met elke naam naar C:\Textfiles
verplaatst. 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 worden verborgen bestanden standaard niet 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 Get-ChildItem
cmdlet gebruikt, moet de waarde van de parameter Path een container zijn. Gebruik de parameter Opnemen om het filter voor de *.txt
bestandsnaamextensie (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 pad- en doelparameternamen 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 linkerhaak- en rechterhaaktekens ([
en]
) bevat. Het pad wordt ook tussen enkele aanhalingstekens ('
) geplaatst, 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 |
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 doelparameter.
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 path-parameter . 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 path-parameter te kwalificeren. De FileSystem-provider is de enige geïnstalleerde PowerShell-provider die ondersteuning biedt voor het gebruik van filters. U vindt de syntaxis voor de bestandssysteemfiltertaal 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_Providers voor 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 path-parameter . 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_Rules voor 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
Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
U kunt een tekenreeks met een pad naar deze cmdlet doorsluisen.
Uitvoerwaarden
None
Deze cmdlet retourneert standaard geen uitvoer.
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
Get-PSProvider
u . Zie about_Providers voor meer informatie.