Verplaatst een item van de ene locatie naar de andere.
- Syntax
- Description
- Voorbeelden
- Voorbeeld 1: Verplaats een bestand naar een andere directory en geef het een andere naam
- Voorbeeld 2: Verplaats een directory en de inhoud ervan naar een andere directory
- Voorbeeld 3: Verplaats alle bestanden met een opgegeven extensie van de huidige directory naar een andere directory
- Voorbeeld 4: Verplaats alle bestanden met een opgegeven extensie recursief van de huidige directory naar een andere directory
- Voorbeeld 5: Registersleutels en -waarden naar een andere sleutel verplaatsen
- Voorbeeld 6: Verplaats een directory en de inhoud ervan naar een subdirectory van de opgegeven directory
- Parameters
- Inputs
- Outputs
- Notes
Syntax
Description
Het cmdlet Move-Item
verplaatst een item, inclusief de eigenschappen, inhoud en child-items, van de ene locatie naar de andere locatie. De locaties moeten door dezelfde provider worden ondersteund. Zo kan bijvoorbeeld een bestand of submap van de ene map naar de andere worden verplaatst of een registersubkey van de ene sleutel naar de andere. Wanneer u een item verplaatst, wordt het aan de nieuwe locatie toegevoegd en van de oorspronkelijke locatie verwijderd.
Voorbeelden
Voorbeeld 1: Verplaats een bestand naar een andere directory en geef het een andere naam
Deze opdracht verplaatst het bestand Test.txt
van het station C:
naar de directory E:\Temp
en hernoemt het van test.txt
naar tst.txt
.
Move-Item -Path C:\test.txt -Destination E:\Temp\tst.txt
Voorbeeld 2: Verplaats een directory en de inhoud ervan naar een andere directory
Deze opdracht verplaatst de directory C:\Temp
en de inhoud ervan naar de directory C:\Logs
. De directory “Temp” en alle submappen en bestanden ervan verschijnen dan in de directory “Logs”.
Move-Item -Path C:\Temp -Destination C:\Logs
Voorbeeld 3: Verplaats alle bestanden met een opgegeven extensie van de huidige directory naar een andere directory
Deze opdracht verplaatst alle tekstbestanden (*.txt
) in de huidige directory (weergegeven door een punt(.
)) naar de directory C:\Logs
.
Move-Item -Path .\*.txt -Destination C:\Logs
Voorbeeld 4: Verplaats alle bestanden met een opgegeven extensie recursief van de huidige directory naar een andere directory
Deze opdracht verplaatst alle tekstbestanden van de huidige directory en alle subdirectories recursief naar de directory “C:TextFiles”.
Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"
Dit commando gebruikt het cmdlet Get-ChildItem
om alle child items in de huidige directory (weergegeven door de punt) en de submappen op te halen die een “.Het gebruikt de parameter Recurse om het ophalen recursief te maken en de parameter Include om het ophalen te beperken tot “.txt”-bestanden.
De pijplijnoperator (|
) zendt de resultaten van dit commando naar Move-Item
, die de tekstbestanden verplaatst naar de directory “TextFiles”.
Als de bestanden die naar “C:\Textfiles” moeten worden verplaatst dezelfde naam hebben, geeft Move-Item
een fout weer en gaat verder, maar verplaatst slechts één bestand met elke naam naar “C:\Textfiles”. De andere bestanden blijven in hun oorspronkelijke directory’s.
Als de directory “Textfiles” (of een ander element van het bestemmingspad) niet bestaat, mislukt de opdracht. De ontbrekende directory 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.
Ook verplaatst Get-ChildItem
standaard geen verborgen bestanden.Om verborgen bestanden te verplaatsen, gebruikt u de parameter Force met Get-ChildItem
.
Note
In Windows PowerShell 2.0, wanneer u de parameter Recurse van het cmdlet Get-ChildItem
gebruikt, moet de waarde van de parameter Path een container zijn.Gebruik de parameter Include om het filter voor de extensie .txt-bestandsnaam(Get-ChildItem -Path .\* -Include *.txt -Recurse | Move-Item -Destination C:\TextFiles
) op te geven.
Voorbeeld 5: Registersleutels en -waarden naar een andere sleutel verplaatsen
Deze opdracht verplaatst de registersleutels en -waarden binnen de registersleutel “MyCompany” inHKLM\Software
naar de sleutel “MyNewCompany”.Het jokerteken (*
) geeft aan dat de inhoud van de sleutel “MyCompany” moet worden verplaatst, niet de sleutel zelf. In deze opdracht zijn de optionele parameternamen Pad en Bestemming weggelaten.
Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"
Voorbeeld 6: Verplaats een directory en de inhoud ervan naar een subdirectory van de opgegeven directory
Deze opdracht verplaatst de directory “Logs” (en de inhoud ervan) naar de directory “Logs”.
Move-Item -LiteralPath 'Logs' -Destination 'Logs'
De parameter LiteralPath wordt gebruikt in plaats van Path, omdat de oorspronkelijke directorynaam haakjes links en haakjes rechts bevat (“”). Het pad staat ook tussen enkele aanhalingstekens (‘ ‘), zodat het backtick-symbool (`) niet verkeerd wordt geïnterpreteerd.
De parameter Destination heeft geen letterlijk pad nodig, omdat de Destination variabele ook tussen enkele aanhalingstekens moet staan, omdat deze haakjes bevat die verkeerd geïnterpreteerd kunnen worden.
Parameters
Vraagt u om bevestiging voordat u het cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Positie: | Naam |
Afwijkwaarde: | Valse |
Accepteer pijplijninvoer: | False |
Accept wildcard characters: | False |
Note
Deze parameter wordt niet ondersteund door providers die met PowerShell zijn geïnstalleerd.Gebruik Invoke-Command om u als een andere gebruiker voor te doen, of om uw referenties te verhogen wanneer u dit cmdlet uitvoert.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Specifieer het pad naar de locatie waar de items worden verplaatst.De standaardwaarde is de huidige directory.Jokertekens zijn toegestaan, maar het resultaat moet een enkele locatie opgeven.
Om de naam te wijzigen van het item dat wordt verplaatst, geeft u een nieuwe naam op in de waarde van de parameter Bestemming.
Type: | String |
Position: | 1 |
Default value: | Current directory |
Accept pipeline input: | True |
Accept wildcard characters: | True |
Specifieert, als een string array, een item of items die dit cmdlet uitsluit in de operatie. De waarde van deze parameter kwalificeert de Path parameter. Voer een pad element of patroon in, zoals*.txt
. Jokertekens zijn toegestaan. De parameter Uitsluiten is alleen effectief wanneer het commando de inhoud van een item bevat, zoals C:\Windows\*
, waarbij het jokerteken de inhoud van de directory C:\Windows
aangeeft.
Type: | String |
Positie: | Naam |
Voorkeurwaarde: | None |
Accepteer invoer via pijplijn: | False |
Accepteer jokertekens: | True |
Specificeert een filter om de parameter Pad te kwalificeren. De FileSystem-provider is de enige geïnstalleerde PowerShell-provider die het gebruik van filters ondersteunt. U kunt de syntaxis voor de FileSystem-filtertaal vinden 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 filtert nadat ze zijn opgehaald.
Type: | String |
Position: | Naam |
Afwijkwaarde: | Neen |
Accepteer invoer pijplijn: | False |
Accept wildcard characters: | True |
Dwingt de opdracht uit te voeren zonder de gebruiker om bevestiging te vragen.De uitvoering varieert van provider tot provider. Zie voor meer informatie about_Providers.
Type: | SwitchParameter |
Positie: | Naam |
Afwijkwaarde: | False |
Accepteer pijplijninvoer: | False |
Accepteer wildcard tekens: | False |
Specificeert, als een string array, een item of items die dit cmdlet in de operatie opneemt. De waarde van deze parameter kwalificeert de Path parameter. Voer een pad element of patroon in, zoals"*.txt"
. Jokertekens zijn toegestaan. De parameter Include is alleen effectief wanneer het commando de inhoud van een item bevat, zoals C:\Windows\*
, waarbij het jokerteken de inhoud van de directory C:\Windows
aangeeft.
Type: | String |
Positie: | Naam |
Voorkeurwaarde: | None |
Accepteer invoer via pijplijn: | False |
Accepteer jokertekens: | True |
Specificeert een pad naar een of meer locaties. De waarde van LiteralPath wordt precies zo gebruikt als het wordt getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escape-tekens bevat, zet u het tussen enkele aanhalingstekens. Enkele aanhalingstekens vertellen PowerShell om geen tekens te interpreteren als escape sequences.
Voor meer informatie, zie about_Quoting_Rules.
Type: | String |
Aliassen: | PSPath, LP |
Positie: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Retourneert een object dat het item vertegenwoordigt waarmee u werkt.Standaard genereert dit cmdlet geen uitvoer.
Type: | SwitchParameter |
Positie: | Naam |
Afwijkende waarde: | Valse |
Accepteer invoer via pijplijn: | False |
Accepteer jokertekens: | False |
Specificeert het pad naar de huidige locatie van de items.De standaardwaarde is de huidige directory.Jokertekens zijn toegestaan.
Type: | String |
Positie: | 0 |
Default waarde: | Current directory |
Accepteer invoer via pijplijn: | True |
Accept wildcard characters: | True |
Geeft aan wat er zou gebeuren als het cmdlet wordt uitgevoerd.Het cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Positie: | Naam |
Afwijkwaarde: | Valse |
Accepteer invoer pijplijn: | False |
Accept wildcard characters: | False |
Inputs
String
Je kunt een string die een pad bevat naar dit cmdlet pijpen.
Outputs
None of een object dat het verplaatste item weergeeft
Wanneer u de parameter PassThru gebruikt, genereert dit cmdlet een object dat het verplaatste item weergeeft.Anders genereert dit cmdlet geen uitvoer.
Notes
- Dit cmdlet zal bestanden verplaatsen tussen stations die worden ondersteund door dezelfde provider, maar het zal alleen mappen verplaatsen binnen hetzelfde station.
- Omdat een
Move-Item
commando de eigenschappen, inhoud, en child items van een item verplaatst, zijn alle verhuizingen standaard recursief. - Dit cmdlet is ontworpen om te werken met de gegevens die door elke provider worden aangeboden.Typ
Get-PSProvider
voor een lijst van providers die beschikbaar zijn in uw sessie. Zie about_Providers voor meer informatie.
- Clear-Item
- Copy-Item
- Get-Item
- Invoke-Item
- New-Item
- Remove-Item
- Rename-Item
- Set-Item
- about_Providers