Remove-Item
Supprime les éléments spécifiés.
Syntaxe
Path (Par défaut)
Remove-Item
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-Stream <String[]>]
[<CommonParameters>]
LiteralPath
Remove-Item
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-Stream <String[]>]
[<CommonParameters>]
Description
L’applet de commande Remove-Item 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 les fichiers, dossiers, clés de Registre, variables, alias et fonctions.
Exemples
Exemple 1 : Supprimer les fichiers qui ont n’importe quelle extension de nom de fichier
Cette commande supprime tous les fichiers qui ont des noms qui incluent un point ('.') dans le dossier « C :\Test ». Étant donné que la commande spécifie un point, la commande ne supprime pas les dossiers ou les fichiers qui n’ont aucune extension de nom de fichier.
Remove-Item C:\Test\*.*
Exemple 2 : Supprimer certains des fichiers de document d’un dossier
Cette commande supprime du dossier actif tous les fichiers qui ont une extension de nom de fichier « .doc » et un nom qui n’inclut pas 1. Il utilise le caractère générique ('*') pour spécifier le contenu du dossier actif. Il utilise les paramètres Include et Exclure pour spécifier les fichiers à supprimer.
Remove-Item * -Include *.doc -Exclude *1*
Exemple 3 : Supprimer les fichiers masqués et en lecture seule
Cette commande supprime un fichier qui est à la fois masqué et en lecture seule. 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 en lecture seule ou fichiers masqués.
Remove-Item -Path C:\Test\hidden-RO-file.txt -Force
Exemple 4 : Supprimer des fichiers dans les sous-dossiers de manière récursive
Cette commande supprime tous les fichiers CSV du dossier actif et tous les sous-dossiers de manière récursive.
É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.
Dans la commande Get-ChildItem, Chemin d’accès a la valeur ' *', qui représente le contenu du dossier actif.
Il utilise Include pour spécifier le type de fichier CSV et utilise Recurse pour rendre la récupération récursive.
Si vous essayez de spécifier le type de fichier, tel que -Path *.csv, l’applet de commande interprète l’objet de la recherche comme un fichier qui n’a aucun élément enfant et récurser échoue.
Get-ChildItem * -Include *.csv -Recurse | Remove-Item
Exemple 5 : Supprimer les sous-clés de manière récursive
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 Recurse supprime tout le contenu de la clé « OldApp » de manière récursive. Si la clé contient des sous-clés et que vous omettez le paramètre Récurser, 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 de commande Remove-Item pour supprimer un autre flux de données. Le paramètre de flux est introduit dans Windows PowerShell 3.0.
La première commande utilise le paramètre dynamique Stream
La deuxième commande utilise le paramètre dynamique Stream
La troisième commande utilise le paramètre dynamique Stream
La quatrième commande Get-Item cmdlet sans le paramètre Stream pour vérifier que le fichier n’est pas supprimé.
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'.
At line:1 char:1
+ Get-Item 'C:\Test\Copy-Script.ps1' -Stream Zone.Identifier
+ [!INCLUDE[]()][!INCLUDE[]()][!INCLUDE[]()][!INCLUDE[]()][!INCLUDE[]()]~~
+ CategoryInfo : ObjectNotFound: (C:\Test\Copy-Script.ps1:String) [Get-Item], FileNotFoundE
xception
+ FullyQualifiedErrorId : AlternateDataStreamNotFound,Microsoft.PowerShell.Commands.GetItemCommand
Get-Item C:\Test\Copy-Script.ps1
Directory: C:\Test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 8/4/2011 11:15 AM 9436 Copy-Script.ps1
Paramètres
-Confirm
Vous invite à confirmer avant d’exécuter l’applet de commande.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | cf |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Credential
Remarque
Ce paramètre n’est pas pris en charge par les fournisseurs installés 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.
Propriétés du paramètre
| Type: | PSCredential |
| Valeur par défaut: | Current user |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-Exclude
Spécifie les éléments omis par cette applet de commande. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément ou un modèle de chemin d’accès, tel que *.txt. Les caractères génériques sont autorisés.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Filter
Spécifie un filtre dans le format ou la langue du fournisseur. La valeur de ce paramètre qualifie le paramètre Path.
La syntaxe du filtre, y compris l’utilisation de caractères génériques, dépend du fournisseur. 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 de filtrer les objets après leur récupération.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Force
Force l’applet de commande à supprimer les éléments qui ne peuvent pas autrement être modifiés, tels que les fichiers masqués ou en lecture seule ou les alias ou variables en lecture seule. L’applet de commande ne peut pas supprimer les alias constants ou les variables. L’implémentation varie du fournisseur au fournisseur. Pour plus d’informations, voir about_Providers. Même en utilisant le paramètre Force, l’applet de commande ne peut pas contourner les restrictions de sécurité.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Include
Spécifie les éléments à supprimer. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément de chemin d’accès ou un modèle, tel que « *.txt». Les caractères génériques sont autorisés.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-LiteralPath
Spécifie un chemin d’accès des éléments en cours de suppression. Contrairement au paramètre Path, la valeur de LiteralPath est utilisée exactement comme elle est tapé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 de caractères comme séquences d’échappement.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | PSPath |
Jeux de paramètres
LiteralPath
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-Path
Spécifie un chemin d’accès des éléments en cours de suppression. Les caractères génériques sont autorisés.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | True |
| DontShow: | False |
Jeux de paramètres
Path
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-Recurse
Indique que cette cmdlet supprime les éléments dans les emplacements spécifiés et dans tous les éléments enfants de ces emplacements.
Lorsqu’il est utilisé avec le paramètre Include, le paramètre Récurser risque de ne pas supprimer tous les sous-dossiers ou tous les éléments enfants.
Il s’agit d’un problème connu.
Pour contourner ce problème, essayez les résultats de la commande Get-ChildItem -Recurse pour Remove-Item, comme décrit dans « Exemple 4 » dans cette rubrique.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Stream
Le paramètre Stream est un paramètre dynamique que le fournisseur FileSystem ajoute à Remove-Item.
Ce paramètre fonctionne uniquement dans les lecteurs de système de fichiers.
Vous pouvez utiliser Remove-Item pour supprimer un autre flux de données.
Toutefois, il n’est pas recommandé d’é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 commande Unblock-File.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-UseTransaction
Inclut la commande dans la transaction active. Ce paramètre est valide uniquement lorsqu’une transaction est en cours. Pour plus d’informations, consultez about_Transactions
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | usetx |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-WhatIf
Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande ne s’exécute pas.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | Wi |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
Entrées
String
Vous pouvez diriger une chaîne qui contient un chemin d’accès, mais pas un chemin littéral, vers cette applet de commande.
Sorties
None
Cette applet de commande ne retourne aucune sortie.
Notes
L’applet de commande Remove-Item 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, voir about_Providers.