Remove-Item
Supprime les éléments spécifiés.
Syntax
Remove-Item
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String[]>]
[<CommonParameters>]
Remove-Item
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String[]>]
[<CommonParameters>]
Description
L’applet Remove-Item
de commande supprime un ou plusieurs éléments. Étant donné qu’il est pris en charge par de nombreux fournisseurs, il peut supprimer de nombreux types d’éléments différents, notamment des fichiers, des dossiers, des clés de Registre, des variables, des alias et des fonctions.
Exemples
Exemple 1 : Supprimer des fichiers qui ont une extension de nom de fichier
Cet exemple supprime tous les fichiers qui ont des noms qui incluent un point (.
) dans le C:\Test
dossier. Étant donné que la commande spécifie un point, la commande ne supprime pas de dossiers ou de fichiers qui n’ont aucune extension de nom de fichier.
Remove-Item C:\Test\*.*
Exemple 2 : Supprimer certains fichiers de document dans un dossier
Cet exemple supprime du dossier actuel tous les fichiers qui ont une .doc
extension de nom de fichier et un nom qui n’inclut *1*
pas .
Remove-Item * -Include *.doc -Exclude *1*
Il utilise le caractère générique (*
) pour spécifier le contenu du dossier actif. Il utilise les paramètres Include et Exclude pour spécifier les fichiers à supprimer.
Exemple 3 : Supprimer des fichiers masqués et en lecture seule
Cette commande supprime un fichier masqué et en lecture seule.
Remove-Item -Path C:\Test\hidden-RO-file.txt -Force
Il utilise le paramètre Path pour spécifier le fichier. Il utilise le paramètre Force pour le supprimer. Sans Forcer, vous ne pouvez pas supprimer les fichiers en lecture seule ou masqués .
Exemple 4 : Supprimer des fichiers dans les sous-dossiers de manière récursive
Cette commande supprime tous les fichiers CSV du dossier actuel et tous les sous-dossiers récursivement.
Étant donné que le paramètre Recurse dans Remove-Item
a un problème connu, la commande de cet exemple utilise Get-ChildItem
pour obtenir les fichiers souhaités, puis utilise l’opérateur de pipeline pour les transmettre à Remove-Item
.
Get-ChildItem * -Include *.csv -Recurse | Remove-Item
Dans la Get-ChildItem
commande, Path a la valeur (*
), qui représente le contenu du dossier actif. Il utilise Include pour spécifier le type de fichier CSV, et il utilise Recurse pour rendre la récupération récursive. Si vous essayez de spécifier le type de fichier le chemin d’accès, par -Path *.csv
exemple, l’applet de commande interprète l’objet de la recherche comme un fichier qui n’a aucun élément enfant, et Recurse échoue.
Notes
Ce comportement a été résolu dans les versions 1909 et ultérieures de Windows.
Exemple 5 : Supprimer des sous-clés récursivement
Cette commande supprime la clé de Registre « OldApp » et toutes ses sous-clés et valeurs. Il utilise Remove-Item
pour supprimer la clé. Le chemin d’accès est spécifié, mais le nom de paramètre facultatif (Path) est omis.
Le paramètre récursif supprime tout le contenu de la clé « OldApp » de façon récursive. Si la clé contient des sous-clés et que vous omettez le paramètre Recurse , vous êtes invité à confirmer que vous souhaitez supprimer le contenu de la clé.
Remove-Item HKLM:\Software\MyCompany\OldApp -Recurse
Exemple 6 : Suppression de fichiers avec des caractères spéciaux
L’exemple suivant montre comment supprimer des fichiers qui contiennent des caractères spéciaux tels que des crochets ou des parenthèses.
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
Exemple 7 : Supprimer un autre flux de données
Cet exemple montre comment utiliser le paramètre dynamique Stream de l’applet Remove-Item
de commande pour supprimer un autre flux de données. Le paramètre de flux est introduit dans 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'.
Le paramètre Get-Item
Stream obtient le Zone.Identifier
flux du Copy-Script.ps1
fichier. Remove-Item
utilise le paramètre Stream pour supprimer le Zone.Identifier
flux du fichier. Enfin, l’applet Get-Item
de commande indique que le Zone.Identifier
flux a été supprimé.
Paramètres
-Confirm
Vous demande une confirmation avant d’exécuter l’applet de commande. Pour plus d’informations, consultez les articles suivants :
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Notes
Ce paramètre n’est pris en charge par aucun fournisseur installé avec PowerShell. Pour emprunter l’identité d’un autre utilisateur ou élever vos informations d’identification lors de l’exécution de cette applet de commande, utilisez Invoke-Command.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Exclude
Spécifie, en tant que tableau de chaînes, un élément ou des éléments que cette applet de commande exclut dans l’opération. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément ou un modèle de chemin d’accès, par exemple *.txt
. Les caractères génériques sont autorisés. Le paramètre Exclude est efficace uniquement lorsque la commande inclut le contenu d’un élément, par C:\Windows\*
exemple, où le caractère générique spécifie le contenu du C:\Windows
répertoire.
Lors de l’utilisation de Recurse avec Exclude, Exclut uniquement les résultats du répertoire actif. S’il existe des fichiers qui correspondent au modèle Exclure dans les sous-dossiers, ces fichiers sont supprimés avec son répertoire parent.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
Spécifie un filtre pour qualifier le paramètre Path . Le fournisseur FileSystem est le seul fournisseur PowerShell installé qui prend en charge l’utilisation de filtres. Vous trouverez la syntaxe du langage de filtre FileSystem dans about_Wildcards. Les filtres sont plus efficaces que d’autres paramètres, car le fournisseur les applique lorsque l’applet de commande obtient les objets plutôt que d’avoir PowerShell filtrer les objets une fois qu’ils sont récupérés.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Force
Force l’applet de commande à supprimer des éléments qui ne peuvent pas autrement être modifiés, tels que des fichiers masqués ou en lecture seule ou des alias ou variables en lecture seule. L’applet de commande ne peut pas modifier des alias ou variables constants. L'implémentation est différente d'un fournisseur à l'autre. Pour plus d'informations, consultez about_Providers. Même en utilisant le paramètre Force , l’applet de commande ne peut pas remplacer les restrictions de sécurité.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
Spécifie, en tant que tableau de chaînes, un élément ou des éléments inclus dans l’opération. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément ou un modèle de chemin d’accès, par exemple "*.txt"
. Les caractères génériques sont autorisés. Le paramètre Include est efficace uniquement lorsque la commande inclut le contenu d’un élément, par C:\Windows\*
exemple, où le caractère générique spécifie le contenu du C:\Windows
répertoire.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LiteralPath
Spécifie un chemin d’accès à un ou plusieurs emplacements. La valeur de LiteralPath est utilisée exactement comme elle est typée. Aucun caractère n’est interprété en tant que caractère générique. Si le chemin d’accès inclut des caractères d’échappement, mettez-le entre des guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter les caractères comme séquences d’échappement.
Pour plus d’informations, consultez about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Spécifie un chemin d’accès des éléments supprimés. Les caractères génériques sont autorisés.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Recurse
Indique que cette applet de commande supprime les éléments des emplacements spécifiés et dans tous les éléments enfants des emplacements.
Le paramètre recurse peut ne pas supprimer tous les sous-dossiers ou tous les éléments enfants. Il s’agit d’un problème connu.
Notes
Ce comportement a été résolu dans les versions 1909 et ultérieures de Windows.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Stream
Notes
Ce paramètre est disponible uniquement sur Windows.
Le paramètre Stream est un paramètre dynamique que le fournisseur FileSystem ajoute à Remove-Item
.
Ce paramètre fonctionne uniquement dans les lecteurs du système de fichiers.
Vous pouvez utiliser Remove-Item
pour supprimer un autre flux de données, par exemple Zone.Identifier
.
Elle ne constitue cependant pas un moyen recommandé pour éliminer les contrôles de sécurité qui bloquent les fichiers téléchargés à partir d'Internet. Si vous vérifiez qu’un fichier téléchargé est sécurisé, utilisez l’applet de Unblock-File
commande.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-WhatIf
Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
Vous pouvez diriger une chaîne qui contient un chemin d’accès, mais pas un chemin littéral, à cette applet de commande.
Sorties
None
Cette applet de commande ne retourne aucune sortie.
Notes
L’applet Remove-Item
de commande est conçue pour fonctionner avec les données exposées par n’importe quel fournisseur. Pour répertorier les fournisseurs disponibles dans votre session, tapez Get-PsProvider
. Pour plus d'informations, consultez about_Providers.
Lorsque vous essayez de supprimer un dossier qui contient des éléments sans utiliser le paramètre Recurse , l’applet de commande invite à confirmer. L’utilisation -Confirm:$false
ne supprime pas l’invite. C'est la procédure normale.