Remove-Item
Hiermee verwijdert u de opgegeven items.
Syntaxis
Path (Default) - FileSystem provider
Remove-Item
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String[]>]
[<CommonParameters>]
LiteralPath - FileSystem provider
Remove-Item
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String[]>]
[<CommonParameters>]
Path (Default) - Certificate provider
Remove-Item
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-DeleteKey]
[<CommonParameters>]
LiteralPath - Certificate provider
Remove-Item
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-DeleteKey]
[<CommonParameters>]
Path (Default) - All providers
Remove-Item
[-Path] <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Recurse]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
LiteralPath - All providers
Remove-Item
-LiteralPath <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Recurse]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Met de cmdlet Remove-Item worden een of meer items verwijderd. Omdat het door veel providers wordt ondersteund, kan het veel verschillende typen items verwijderen, waaronder bestanden, mappen, registersleutels, variabelen, aliassen en functies.
Voorbeelden
Voorbeeld 1: Bestanden verwijderen met een bestandsextensie
In dit voorbeeld worden alle bestanden met namen met een punt (.) uit de map C:\Test verwijderd.
Omdat met de opdracht een punt wordt opgegeven, worden mappen of bestanden die geen bestandsextensie hebben, niet verwijderd.
Remove-Item C:\Test\*.*
Voorbeeld 2: Documentbestanden in een map verwijderen
In dit voorbeeld worden alle bestanden verwijderd uit de huidige map met een .doc bestandsextensie en een naam die geen *1*bevat.
Remove-Item * -Include *.doc -Exclude *1*
Het jokerteken (*) wordt gebruikt om de inhoud van de huidige map op te geven. Het maakt gebruik van de Include en Exclude parameters om de bestanden op te geven die moeten worden verwijderd.
Voorbeeld 3: Verborgen, alleen-lezen bestanden verwijderen
Met deze opdracht verwijdert u een bestand dat zowel verborgen als alleen-lezenis.
Remove-Item -Path C:\Test\hidden-RO-file.txt -Force
Hierbij wordt de parameter Path gebruikt om het bestand op te geven. Hierbij wordt de parameter Force gebruikt om deze te verwijderen. Zonder forcerenkunt u alleen-lezen of verborgen bestanden niet verwijderen.
Voorbeeld 4: Bestanden in submappen recursief verwijderen
Met deze opdracht worden alle CSV-bestanden in de huidige map en alle submappen recursief verwijderd.
Omdat de parameter Recurse in Remove-Item een bekend probleem heeft, gebruikt de opdracht in dit voorbeeld Get-ChildItem om de gewenste bestanden op te halen en gebruikt vervolgens de pijplijnoperator om deze door te geven aan Remove-Item.
Get-ChildItem * -Include *.csv -Recurse | Remove-Item
In de opdracht Get-ChildItem heeft Pad de waarde (*) die de inhoud van de huidige map vertegenwoordigt. Het maakt gebruik van Include om het CSV-bestandstype op te geven en gebruikt Recurse- om het ophalen recursief te maken. Als u probeert het bestandstype op te geven in het pad, zoals -Path *.csv, interpreteert de cmdlet het onderwerp van de zoekopdracht als een bestand dat geen onderliggende items bevat en Recurse- mislukt.
Opmerking
Dit gedrag is opgelost in Windows-versies 1909 en hoger.
Voorbeeld 5: Subsleutels recursief verwijderen
Met deze opdracht verwijdert u de registersleutel OldApp en alle bijbehorende subsleutels en -waarden.
Remove-Item wordt gebruikt om de sleutel te verwijderen. Het pad is opgegeven, maar de optionele parameternaam (Pad) wordt weggelaten.
De parameter Recurse verwijdert alle inhoud van de sleutel OldApp recursief. Als de sleutel subsleutels bevat en u de parameter Recurse weglaat, wordt u gevraagd om te bevestigen dat u de inhoud van de sleutel wilt verwijderen.
Remove-Item HKLM:\Software\MyCompany\OldApp -Recurse
Voorbeeld 6: bestanden met speciale tekens verwijderen
In het volgende voorbeeld ziet u hoe u bestanden verwijdert die speciale tekens bevatten, zoals vierkante haakjes of ronde haakjes.
Get-ChildItem
Directory: C:\temp\Downloads
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 6/1/2018 12:19 PM 1362 myFile.txt
-a--- 6/1/2018 12:30 PM 1132 myFile[1].txt
-a--- 6/1/2018 12:19 PM 1283 myFile[2].txt
-a--- 6/1/2018 12:19 PM 1432 myFile[3].txt
Get-ChildItem | Where-Object Name -Like '*`[*'
Directory: C:\temp\Downloads
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 6/1/2018 12:30 PM 1132 myFile[1].txt
-a--- 6/1/2018 12:19 PM 1283 myFile[2].txt
-a--- 6/1/2018 12:19 PM 1432 myFile[3].txt
Get-ChildItem | Where-Object Name -Like '*`[*' | ForEach-Object { Remove-Item -LiteralPath $_.Name }
Get-ChildItem
Directory: C:\temp\Downloads
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 6/1/2018 12:19 PM 1362 myFile.txt
Voorbeeld 7: Een alternatieve gegevensstroom verwijderen
In dit voorbeeld ziet u hoe u de Stream dynamische parameter van de Remove-Item-cmdlet gebruikt om een alternatieve gegevensstroom te verwijderen. De streamparameter wordt geïntroduceerd in Windows PowerShell 3.0.
Get-Item C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
FileName: \\C:\Test\Copy-Script.ps1
Stream Length
------ ------
Zone.Identifier 26
Remove-Item C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
Get-Item C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
Get-Item : Could not open alternate data stream 'Zone.Identifier' of file 'C:\Test\Copy-Script.ps1'.
De parameter StreamGet-Item haalt de Zone.Identifier stream van het Copy-Script.ps1-bestand op.
Remove-Item gebruikt de parameter Stream om de Zone.Identifier stroom van het bestand te verwijderen. Ten slotte ziet u in de Get-Item cmdlet dat de Zone.Identifier stream is verwijderd.
Parameters
-Confirm
Voordat u de cmdlet uitvoert, vraagt het systeem om bevestiging. Zie de volgende artikelen voor meer informatie:
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | False |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | Cf |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Credential
Opmerking
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-.
Parametereigenschappen
| Type: | PSCredential |
| Default value: | Current user |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-DeleteKey
Dit is een dynamische parameter die beschikbaar wordt gesteld door de Certificate provider. De Certificate-provider en deze parameter zijn alleen beschikbaar op Windows-platforms.
Wanneer dit is opgegeven, verwijdert de cmdlet de persoonlijke sleutel wanneer het certificaat wordt verwijderd.
Zie about_Certificate_Providervoor meer informatie.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | False |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Exclude
Hiermee specificeert u, als een tekenreeks, één of meerdere items die door deze cmdlet worden uitgesloten van 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.
Wanneer u Recurse- gebruikt met Exclude, filtert Exclude alleen de resultaten van de huidige map. Als er bestanden zijn die overeenkomen met het patroon uitsluiten in submappen, worden deze bestanden samen met de bovenliggende map verwijderd.
Parametereigenschappen
| Type: | String[] |
| Default value: | None |
| Ondersteunt jokertekens: | True |
| DontShow: | False |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-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 kunt de syntaxis voor de FileSystem filtertaal vinden 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.
Parametereigenschappen
| Type: | String |
| Default value: | None |
| Ondersteunt jokertekens: | True |
| DontShow: | False |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Force
Hiermee dwingt u af dat de cmdlet items verwijdert die anders niet kunnen worden gewijzigd, zoals verborgen of alleen-lezen bestanden of alleen-lezen aliassen of variabelen. De cmdlet kan geen constante aliassen of variabelen verwijderen. Implementatie varieert van provider tot provider. Zie about_Providersvoor meer informatie. Zelfs met behulp van de Force parameter kan de cmdlet geen beveiligingsbeperkingen overschrijven.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | False |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Include
Hiermee specificeert u, in de vorm van een tekenreeksarray, een item of items die deze cmdlet bij de bewerking betrekt. 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.
Parametereigenschappen
| Type: | String[] |
| Default value: | None |
| Ondersteunt jokertekens: | True |
| DontShow: | False |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-LiteralPath
Specificeert een pad naar een of meer locaties. De waarde van LiteralPath- wordt precies gebruikt zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escape-tekens bevat, zet het dan tussen enkele aanhalingstekens. Enkele aanhalingstekens zorgen ervoor dat PowerShell geen tekens als escapesequenties interpreteert.
Zie about_Quoting_Rulesvoor meer informatie.
Parametereigenschappen
| Type: | String[] |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | PSPath, LP |
Parametersets
LiteralPath
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-Path
Hiermee geeft u een pad op van de items die worden verwijderd. Jokertekens zijn toegestaan.
Parametereigenschappen
| Type: | String[] |
| Default value: | None |
| Ondersteunt jokertekens: | True |
| DontShow: | False |
Parametersets
Path
| Position: | 0 |
| Verplicht: | True |
| Waarde uit pijplijn: | True |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-Recurse
Geeft aan dat met deze cmdlet de items op de opgegeven locaties en in alle onderliggende items van die locaties worden verwijderd.
De parameter Recurse verwijdert mogelijk niet alle submappen of alle onderliggende items. Dit is een bekend probleem.
Opmerking
Dit gedrag is opgelost in Windows-versies 1909 en hoger.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Stream
Dit is een dynamische parameter die beschikbaar wordt gesteld door de FileSystem provider. Deze parameter is alleen beschikbaar in Windows. Deze parameter kan niet worden gebruikt in combinatie met de parameter Recurse.
U kunt Remove-Item gebruiken om een alternatieve gegevensstroom te verwijderen, zoals Zone.Identifier.
Het is echter niet de aanbevolen manier om beveiligingscontroles te voorkomen die bestanden blokkeren die van internet worden gedownload. Als u controleert of een gedownload bestand veilig is, gebruikt u de cmdlet Unblock-File.
Deze parameter is geïntroduceerd in Windows PowerShell 3.0. Vanaf Windows PowerShell 7.2 kunnen Remove-Item alternatieve gegevensstromen uit mappen en bestanden verwijderen.
Zie about_FileSystem_Providervoor meer informatie.
Parametereigenschappen
| Type: | String[] |
| Default value: | None |
| Ondersteunt jokertekens: | True |
| DontShow: | False |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-WhatIf
Toont wat er zou gebeuren wanneer de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | False |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | Wi |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
CommonParameters
Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.
Invoerwaarden
String
U kunt een tekenreeks die een pad bevat naar deze cmdlet pijpen, maar niet een letterlijk pad.
Uitvoerwaarden
None
Deze cmdlet retourneert geen uitvoer.
Notities
PowerShell bevat de volgende aliassen voor Remove-Item:
- Alle platforms:
deleraserdri
- Windows:
rmrmdir
De cmdlet Remove-Item 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.
Wanneer u probeert een map te verwijderen die items bevat zonder de parameter Recurse te gebruiken, wordt er om bevestiging gevraagd. Als u -Confirm:$false gebruikt, wordt de prompt niet onderdrukt. Dit is standaard.