Comment supprimer des dossiers ou des fichiers avec PowerShell

18 août 2021 10262 Vues Comment supprimer des dossiers ou des fichiers avec PowerShell

Vous souhaitez supprimer des fichiers et des dossiers avec PowerShell, mais vous ne savez pas comment ? Cet article vous expliquera étape par étape comment utiliser PowerShell pour supprimer un dossier, un fichier ou tous les dossiers et fichiers d'un chemin spécifié.





Cet article de blog vous explique différentes manières de supprimer des dossiers et des fichiers à l'aide de PowerShell. Si cela semble intéressant, continuez à lire !



Le guide commence par expliquer 2 façons d'utiliser PowerShell pour supprimer des dossiers et des fichiers. Ensuite, dans la deuxième section, vous apprendrez à corriger les erreurs courantes associées à la suppression de fichiers et de dossiers avec PowerShell.

Enfin, le guide propose plus de 20 exemples.



Parcourir les sujets de publication



2 façons de supprimer un dossier ou un fichier avec PowerShell

PowerShell propose deux façons de supprimer des éléments. Vous pouvez supprimer un dossier ou un fichier avec la méthode de suppression PowerShell.

Deuxièmement, vous pouvez utiliser Remove-Item pour supprimer des éléments dans PowerShell. Dans les 2 prochaines sous-sections de cette section, vous apprendrez à utiliser ces méthodes.



Méthode 1 : Utiliser Powershell Supprimer() Méthode pour supprimer un dossier ou un fichier

Pour que PowerShell supprime un dossier, vous avez besoin de l'applet de commande Get-ChidItem. Get-ChildItem L'applet de commande renvoie les éléments et les éléments enfants à un emplacement spécifié.



Pour répertorier tous les fichiers et dossiers du chemin E :  rapports , exécutez la commande ci-dessous :

|__+_|

Voici le résultat en PowerShell…

Comment utiliser Powershell Delete()

Cette commande a une méthode appelée Supprimer . Vous pouvez utiliser le Supprimer Méthode pour supprimer des dossiers et des fichiers.

Pour voir les méthodes disponibles dans la commande ci-dessus, dirigez la commande vers l'applet de commande Get-Member.

|__+_|

La commande a renvoyé deux types de propriétés. un , System.IO.DirectoryInfo (voir la première image ci-dessous). deux , System.IO.FileInfo . Le premier concerne les dossiers du chemin tandis que le second concerne les fichiers.

Regardez attentivement les deux images. Notez que chacun d'eux a une méthode appelée Supprimer . Vous pouvez utiliser le Supprimer Méthode dans PowerShell pour supprimer un dossier ou un fichier.

Dans la sous-section suivante, je montrerai comment utiliser Supprimer Méthode.

Comment utiliser Supprimer () Méthode dans Powershell pour supprimer un dossier ou un fichier

La syntaxe de la Supprimer La méthode est :

|__+_|

Objet est le dossier des détails du fichier renvoyé par l'applet de commande Get-ChidItem. Par ailleurs, Supprimer est la méthode généralement suivie par l'opérateur ().

Pour faciliter la compréhension de la commande de syntaxe ci-dessus, voici la commande originale Get-ChildItem :

|__+_|

et le résultat…

Comment utiliser Powershell Delete()

D'après ce que j'ai expliqué jusqu'à présent, en théorie, vous pouvez utiliser PowerShell Delete Method pour supprimer le dossier appelé reports en exécutant la commande ci-dessous :

|__+_|

Cependant, la dernière commande renvoie le message d'erreur Le répertoire n'est pas vide.

Pour résoudre ce problème, j'ai besoin d'une commande qui renvoie tous les fichiers et dossiers, ainsi que les sous-dossiers du chemin. Ensuite, je dois diriger le résultat vers une boucle ForEach .

Voici la commande modifiée :

|__+_|

Voici la commande dans PowerShell. Tous les fichiers ont été supprimés du chemin spécifié.

racine samsung galaxy luna

La dernière commande supprime les fichiers du dossier spécifié et de ses sous-dossiers. Cependant, il ne supprime pas les dossiers.

Pour supprimer les dossiers, exécutez la commande ci-dessous :

|__+_|

Pour confirmer que E :  rapports est maintenant vide, je vais relancer la commande Get-ChildItem.

|__+_|

ça ne retourne rien !

Avant de passer à la section suivante, laissez-moi vous expliquer comment cette commande a supprimé tous les fichiers et sous-dossiers.

|__+_|

Get-ChildItem a deux paramètres appelés Inclure et Recurser . Dans la commande, j'ai utilisé -Inclure *.* pour indiquer à PowerShell d'inclure chaque fichier dans le résultat.

Recurser , d'autre part, indique à Get-ChildItem de renvoyer tous les dossiers et sous-dossiers.

Dans la deuxième partie de la commande, j'ai piqué Get-ChildItem à ForEach statement . ForEach parcourt tous les objets renvoyés par Get-ChildItem et utilise le Supprimer Méthode pour les supprimer.

Comme je l'ai déjà mentionné lorsque j'ai introduit cette section, PowerShell a une applet de commande appelée Retirer l'objet Plus précisément. Vous pouvez également utiliser cette applet de commande PowerShell pour supprimer un dossier ou un fichier.

La section suivante explique comment utiliser Retirer l'objet . D'après mon expérience, en utilisant Retirer l'objet est mieux que d'utiliser Supprimer() Méthode.

Méthode 2 : Utiliser Powershell Retirer l'objet Applet de commande pour supprimer un dossier ou un fichier

Pour supprimer un fichier ou un dossier avec Retirer l'objet vous devez toujours utiliser l'applet de commande PowerShell, Get-ChildItem. Ensuite, dirigez le résultat vers Retirer l'objet .

Tu peux courir Retirer l'objet sans pour autant Get-ChildItem . Cependant, d'après mon expérience, dans la plupart des cas, il est préférable de répertorier l'article avec Get-ChildItem . Ensuite, redirigez la sortie vers Retirer l'objet .

Dans mon premier exemple de cette section, je souhaite utiliser PowerShell pour supprimer le dossier appelé ITGServer2. Voir la capture d'écran ci-dessous.

Méthode 2 : Utiliser l'applet de commande Powershell Remove-Item pour supprimer un dossier ou un fichier

Voici la commande PowerShell qui supprimera le dossier…

|__+_|

Après avoir exécuté la commande ci-dessus, le dossier a disparu !

Méthode 2 : Utiliser l'applet de commande Powershell Remove-Item pour supprimer un dossier ou un fichier

Dans mon deuxième exemple, je veux supprimer les dossiers et sous-dossiers dans E: eports. La commande ci-dessous fera le travail…

|__+_|

Après avoir exécuté la dernière commande, tous les dossiers du dossier spécifié ont disparu !

Méthode 2 : Utiliser l'applet de commande Powershell Remove-Item pour supprimer un dossier ou un fichier

Comment réparer les erreurs courantes avec Powershell Supprimer le dossier ou le fichier

Comment réparer les erreurs courantes avec Powershell Supprimer le dossier ou le fichier

Lorsque vous exécutez la commande Remove-Item PowerShell pour supprimer un dossier ou un fichier, elle peut renvoyer des erreurs. Cette section couvre certaines de ces erreurs et comment les corriger.

Je pense qu'il est préférable de discuter des solutions à ces erreurs courantes avant de plonger dans des exemples concrets d'administration système sur la façon d'utiliser PowerShell pour supprimer des dossiers ou des fichiers.

Comment réparer Powershell Supprimer le dossier ou l'erreur d'accès au fichier refusé

Si vous exécutez Remove-Item pour supprimer un fichier ou un dossier et recevez un message d'erreur Accès refusé, essayez ce qui suit :

  1. Changer le propriétaire du fichier ou du dossier - utilisez les codes ci-dessous pour changer le propriétaire d'un fichier ou d'un dossier en administrateur local

Pour exécuter cette commande, ouvrez PowerShell en tant qu'administrateur, sinon la dernière commande échouera.

|__+_| Modifiez le chemin du dossier, F:ITGFilesTextfiles par le chemin complet de votre fichier ou dossier

Une fois que vous avez changé le propriétaire en administrateur local, essayez à nouveau de supprimer le fichier ou le dossier avec PowerShell. Si cela ne fonctionne pas, essayez ces correctifs.

  1. Ajouter le Obliger paramètre pour supprimer l'élément
  2. Essayez plutôt la méthode Delete(). Si vous ne savez pas comment utiliser la méthode PowerShell Delete(), consultez la section Comment utiliser la méthode Delete() dans Powershell pour supprimer un dossier ou un fichier (le lien s'ouvre dans un onglet de navigateur différent) de ce guide.

Comment réparer le dossier de suppression Powershell ne peut pas être supprimé car il n'est pas vide Erreur

Si vous recevez ne peut pas être supprimé car ce n'est pas une erreur vide lorsque vous exécutez la commande :

|__+_|

Essayez d'utiliser Get-ChildItem avec le paramètre Recurse. Ensuite, dirigez-le vers Remove-Item avec le Obliger et Recurser paramètres.

Voici un exemple de commande :

|__+_|

Vous pouvez également exécuter Get-ChildItem et spécifier des astérisques derrière la dernière barre oblique du chemin. Cela supprime tout le contenu du dossier.

comment supprimer le système 32 avec cmd

Par exemple, si je lance la commande…

|__+_|

…et recevez Impossible de supprimer car il n'est pas vide, pour résoudre le problème, je vais d'abord exécuter la commande ci-dessous :

|__+_|

La dernière commande supprime uniquement les éléments dans E: eports. Enfin, pour supprimer le dossier (qui est désormais vide), je vais lancer la commande ci-dessous…

|__+_|

Comment réparer le dossier de suppression de Powershell utilisé par une autre erreur de processus

Comment réparer le dossier de suppression de Powershell

Si vous recevez Remove-Item renvoie le message d'erreur car il est utilisé par un autre processus, vous devez inclure le paramètre Force.

Voici l'original qui a renvoyé le message d'erreur…

|__+_|

Pour résoudre ce problème, exécutez la commande ci-dessous pour un fichier :

|__+_|

La dernière commande a supprimé avec succès le fichier…

Comment réparer Powershell Supprimer un dossier ou un dossier de fichiers ou un nom de fichier trop long Erreur

Cela semble être une limitation connue avec PowerShell.

Cependant, pour résoudre ce problème, vous pouvez utiliser le à toi commande cmd. Ensuite, dirigez le résultat vers la commande Remove-Item.

Voici un exemple…

|__+_| La commande dir est l'équivalent cmd de Get-ChildItem de PowerShell.

Comment corriger l'erreur Powershell Delete Folder Access To The Path Is Denied

La commande PowerShell Remove-Item génère un message d'erreur Accès au chemin refusé si vous essayez de supprimer un dossier que vous n'êtes pas autorisé à supprimer.

La raison pour laquelle vous obtenez ce message d'erreur est que vous n'avez pas accès au dossier. Avant d'exécuter la commande Remove-Item, exécutez les commandes suivantes pour accorder aux administrateurs locaux l'accès au dossier.

Ce correctif suppose que le compte que vous avez utilisé pour vous connecter est membre du groupe Administrateurs local. Avant d'exécuter la commande ci-dessous dans PowerShell ISE , remplacez le chemin F:ITGFilesTextfiles par le chemin du dossier que vous essayez de supprimer. |__+_|

Une fois que vous avez terminé d'exécuter le script ci-dessus, réexécutez la commande Remove-Item.

Plus d'exemples de suppression de dossier ou de fichier Powershell

Plus d'exemples de suppression de dossier ou de fichier Powershell

Cette dernière section du guide couvre plusieurs exemples d'utilisation de PowerShell pour supprimer des fichiers ou des dossiers.

Comment supprimer un dossier ou un fichier avec PowerShell s'il existe

Étant donné que cet exemple a une condition - si le dossier ou le fichier existe - le premier chemin de la commande vérifie si l'élément existe.

Vous pouvez utiliser le Chemin de test commande pour vérifier si un dossier ou un fichier existe. Ensuite, vous utilisez l'instruction conditionnelle IF pour supprimer le dossier ou le fichier s'il existe.

Nous pouvons combiner les deux commandes dans le bloc d'instruction IF…

Dans cet exemple, je veux supprimer un dossier appelé ITGServer dans le chemin F:ITGFilesTextfiles - si le dossier existe.

Voici la commande…

|__+_|

Dans cet exemple, ce dossier existe donc il a été supprimé. Cependant, si nous essayons la commande avec un fichier qui n'existe pas, nous recevrons le message dans le Autre bloc de l'instruction IF.

Comment supprimer un dossier et ses sous-dossiers avec PowerShell

Pour supprimer un dossier et tous les sous-dossiers, exécutez le Retirer l'objet commande avec le Recurser et Obliger paramètres.

Voici un exemple…

|__+_|

Comment supprimer un dossier ou un fichier de plus de x jours (ou en fonction de la date) avec PowerShell

Dans cet exemple, puisque nous voulons supprimer des fichiers ou des dossiers antérieurs à x jours, la première étape consiste à obtenir la référence des jours. Cela se fait avec la commande Get-Date.

Cependant, puisque nous voulons supprimer les éléments de plus de x jours, nous devons spécifier x jours comme valeur négative. Par exemple, pour supprimer tous les fichiers ou dossiers datant de plus de 7 jours, obtenez la référence des jours avec la commande ci-dessous :

|__+_|

Ensuite, utilisez le Get-ChildItem commande pour obtenir le LastWriteTime propriété de l'article. le LastWriteTime La propriété enregistre la dernière date à laquelle un dossier ou un fichier a été modifié.

En plus de LastWriteTime propriété, la commande Get-ChildItem renvoie une autre propriété appelée PSIsConteneur . La propriété PSIsContainer différencie un fichier d'un dossier.

Si PSIsConteneur est vrai, cela signifie que l'élément est un dossier. D'autre part, si PSIsConteneur est faux, cela signifie que l'élément est un fichier.

Avant d'introduire la propriété LastWriteTime, laissez-moi d'abord exécuter une commande Get-ChildItem et filtrer par la propriété PSIsContainer :

|__+_|

Cette commande a renvoyé un seul objet appelé ITG car il s'agit du seul dossier dans le chemin F:ITGFilesTextfiles.

Sinon, pour ne lister que les fichiers du chemin, exécutez la commande ci-dessous :

|__+_|

Cette fois-ci, parce que j'ai précisé par $ _.PSIsConta descend -eq $FAUX , PowerShell renvoie tous les non-dossiers.

Maintenant que vous comprenez comment lister des dossiers ou des fichiers dans un dossier, introduisons la propriété LastWriteTime. Comme je l'ai mentionné précédemment, la date et l'heure de la dernière modification de l'élément sont enregistrées dans la propriété LastWriteTime.

Ces commandes incluent la propriété LastWriteTime :

|__+_|

La première commande renvoie tous les dossiers qui ont été modifiés pour la dernière fois avant la référence de jour enregistrée dans la variable $DaysRef. Dans cet exemple, la référence du jour est de 7 jours.

Au contraire, la deuxième commande renvoie tous les fichiers modifiés au cours des x derniers jours - où x jours est égal à 7 dans cet exemple.

La deuxième et dernière étape de cet exemple qui utilise PowerShell pour supprimer les dossiers de fichiers de plus de x jours consiste à diriger la commande Where-Object vers Remove-Item.

Le script ci-dessous termine la tâche de suppression des fichiers et du dossier…

|__+_| Si aucun fichier ou dossier ne répond aux critères LastWriteTime, aucun ne sera supprimé.

Comment utiliser PowerShell pour supprimer uniquement le contenu du dossier

Dans cet exemple, je supprimerai le contenu de F:ITGFilesfolder mais pas le dossier lui-même.

Si vous souhaitez supprimer uniquement le contenu d'un dossier mais conserver le dossier, exécutez la commande Remove-Item comme indiqué dans l'exemple ci-dessous :

|__+_|

L'astuce consiste à ajouter un astérisque après la dernière barre oblique à la fin du chemin du dossier.

le Recurser Le paramètre supprime tous les dossiers et sous-dossiers dans le chemin spécifié. Dans cet exemple, F:ITGFilesdossier*

Comment utiliser PowerShell pour supprimer un dossier et son contenu sans confirmation ni invite

L'astuce pour supprimer un dossier et son contenu sans vous demander de confirmation est d'ajouter le Obliger et Confirmer :$false paramètres à la Retirer l'objet commander.

Si j'exécute la commande ci-dessous sans ajouter le Confirmer :$false paramètre, je pourrai peut-être confirmer que je veux supprimer le dossier et tout son contenu.

|__+_|

Cependant, si je ne souhaite pas recevoir cette invite de confirmation, j'inclurai le paramètre Confirm:$false.

|__+_|

La commande doit s'exécuter sans demander de confirmer l'action. Notez également que le paramètre qui arrête l'invite de confirmation est Confirmer :$false .

Si la dernière commande demande toujours confirmation, exécutez d'abord le Get-ChildItem commander. Ensuite, dirigez la sortie vers la commande Remove-Item comme indiqué ci-dessous :

|__+_|

Malheureusement, la dernière commande ne supprime pas le dossier du dossier parent. Pour supprimer le dossier parent et tout son contenu, ajoutez le paramètre -filter à la commande Get-ChildItem comme indiqué dans cette commande :

|__+_|

Comment utiliser PowerShell pour supprimer un dossier ou un fichier dans la corbeille

Si vous supprimez un dossier ou un fichier avec la commande Remove-Item, il est définitivement supprimé. En d'autres termes, le dossier n'est pas déplacé vers la corbeille.

Malheureusement, il n'y a pas de cmdlet PowerShell pour supprimer un dossier ou un fichier dans la corbeille. J'essayais de créer une fonction personnalisée pour cette tâche. Cependant, j'ai trouvé une fonction existante créée par un stackoverflow.com donateur.

Pour le mettre à la disposition de nos lecteurs, j'ai téléchargé une copie de la fonction sur S Zone. Pour télécharger et utiliser la fonction, suivez les étapes ci-dessous :

  1. Cliquez sur télécharger Remove-ItemToRecycleBin.zip pour télécharger la fonction
  2. Ensuite, décompressez le fichier zip téléchargé. Lorsque vous décompressez le fichier, il créera un dossier appelé Remove-ItemToRecycleBin.
  3. Enfin, copiez le dossier dans votre dossier de module de profil Windows 10 PowerShell. Le dossier se trouve dans le chemin ci-dessous
|__+_| est votre nom de profil Windows 10. Il se trouve généralement dans C:Users. Cependant, s'il ne se trouve pas dans le lecteur C, regardez le lecteur D ou E.

Une fois que vous avez copié le dossier du module dans votre dossier de module, vous pouvez l'utiliser comme n'importe quelle autre commande PowerShell. Pour illustrer comment cela fonctionne, je supprimerai E: eports dans la corbeille.

Avant d'exécuter la commande, voici une capture d'écran de ma corbeille vide.

Comment utiliser PowerShell pour supprimer un dossier ou un fichier dans la corbeille

Maintenant, pour utiliser PowerShell pour supprimer le dossier, E: eports to Recycle Bin, je vais exécuter la commande ci-dessous :

|__+_|

Après avoir exécuté la commande ci-dessus, le dossier des rapports sera déplacé vers la corbeille. Voir la capture d'écran ci-dessous…

Comment utiliser PowerShell pour supprimer un dossier ou un fichier et exclure d'autres dossiers ou fichiers

La commande Remove-Item a une Exclure paramètre. Ce paramètre est utilisé pour exclure un dossier ou un fichier que vous ne souhaitez pas supprimer.

Voici un exemple. Je souhaite supprimer tous les dossiers du chemin, F:ITGFilesTextfiles5. Cependant, je ne veux pas supprimer le dossier3.

Comment utiliser PowerShell pour supprimer un dossier ou un fichier et exclure d'autres dossiers ou fichiers

Comme vous pouvez le voir sur la capture d'écran ci-dessus, le dossier contient à la fois des dossiers et des fichiers.

Pour supprimer uniquement les dossiers, je dois d'abord utiliser la commande Get-ChildItem pour répertorier tous les éléments du chemin. Ensuite, dirigez la sortie vers la propriété Where-Object et filtrez par PSIsContainer.

|__+_|

Après avoir exécuté la dernière commande, tous les dossiers sont supprimés mais pas le dossier3. De plus, vous remarquez que les fichiers dans F:ITGFilesTextfiles5 n'ont pas été supprimés.

La raison pour laquelle seuls les dossiers ont été supprimés est que dans le Où-Objet block, j'ai filtré par {$_.PSIsContainer -eq $TRUE}. La propriété PSIsContainer spécifie qu'un objet est un dossier.

Ensuite, le Remove-Item a également un paramètre appelé Include. Ce paramètre exécute l'action opposée au paramètre Exclure.

Je peux obtenir le même résultat que la dernière commande en remplaçant Exclure par Inclure. Cependant, contrairement à la commande précédente, je vais maintenant lister les dossiers que je souhaite supprimer.

Voici un exemple de commande qui supprime uniquement le dossier1 de F:ITGFilesTextfiles5.

|__+_|

Après avoir exécuté la commande précédente, vous remarquerez que seul dossier1 a été supprimé.

Si vous souhaitez supprimer des fichiers au lieu de dossiers, remplacez $_.PSIsContainer -eq $TRUE par $_.PSIsContainer -eq $FALSE

Comment utiliser PowerShell pour supprimer un dossier même s'il n'est pas vide

Si vous souhaitez supprimer un dossier avec PowerShell - même si le dossier n'est pas vide - incluez le Obliger et Recurser paramètres. Voici un exemple.

|__+_|

Comment utiliser PowerShell pour supprimer les dossiers vides de plus de X jours

Suivez les étapes ci-dessous pour utiliser PowerShell pour supprimer les dossiers vides de plus de x jours…

titanfall 2 ne fonctionne pas

Dans cet exemple, je souhaite supprimer les dossiers de plus de 90 jours de mon profil Windows 10, C:UsersVictorA.

  1. Utilisez Get-ChildItems pour répertorier uniquement les dossiers dans le chemin spécifié :
|__+_|

La commande répertorie tous les dossiers dans le chemin spécifié. Si vous vous souvenez, dans les commandes précédentes de ce guide, pour renvoyer des dossiers, nous avons utilisé Où-Objet filtrer par PSIsConteneur propriété. Cependant, je décide d'obtenir le même résultat en utilisant le Annuaire paramètre de Get-ChildItem .

  1. Ensuite, dirigez le résultat de la commande Get-ChildItem vers Where-Object. Dans la commande Where-Object, ajoutez un filtre qui renvoie uniquement les dossiers vides. Voici la commande…
|__+_|
  1. Maintenant, nous devons ajouter le chemin qui renvoie les dossiers de la liste précédente datant de plus de 90 jours. Cela implique deux commandes.

Dans la première commande, j'utiliserai Get-Date pour déterminer la date de la période. Dans l'exemple, il y a 90 jours. Pour faciliter les choses, je vais enregistrer le résultat dans une variable appelée $DaysRef.

|__+_|

Ensuite, dans la deuxième commande, j'inclurai un autre filtre dans la partie Where-Object de la dernière commande.

|__+_|

Voici le résultat de la dernière commande...

Comment utiliser PowerShell pour supprimer les dossiers vides de plus de X jours

Comme vous pouvez le voir, seuls deux dossiers vides sont désormais renvoyés par la dernière commande. J'ai exécuté cette commande le 4 août 2021. Comme vous pouvez le voir, le LastWriteTime des deux dossiers est 16/06/2021 16:29.

Pour les lecteurs américains, cette date est le 16 août 2021 (16/06/2021)

Cela signifie que la dernière fois que les deux dossiers ont été modifiés pour la dernière fois, il y a plus de 90 jours à compter de l'exécution de la commande.

  1. Enfin, pour supprimer ces dossiers vides de plus de 90 jours, dirigez la dernière commande vers la commande Remove-Item PowerShell.
|__+_|

Comment utiliser PowerShell pour supprimer le dossier de profil utilisateur

Pour supprimer le dossier de profil utilisateur avec les commandes de cette section, vous DEVEZ ouvrir PowerShell en tant qu'administrateur . Sinon, vous pourriez recevoir un message d'erreur d'accès refusé

La première étape pour utiliser PowerShell pour supprimer le dossier de profil d'un utilisateur consiste à déterminer le chemin d'accès au dossier de l'utilisateur. PowerShell a une variable d'environnement qui renvoie le chemin d'accès au répertoire d'installation de Windows.

La variable est…

|__+_|

Cette commande renvoie un chemin comme C:WINDOWS. Pendant ce temps, le dossier Utilisateurs (qui contient tous les dossiers de profil utilisateur) est situé à la racine du lecteur sur lequel Windows est installé.

Dans mon exemple, le dossier Users se trouve dans le lecteur C:WINDOWS.

Cependant, pour renvoyer C:, à partir de C:WINDOWS, utilisez la méthode split comme indiqué dans la commande ci-dessous.

|__+_|

La commande renvoie C: et WINDOWS. L'étape suivante consiste à renvoyer C: – c'est le premier élément du tableau.

Comment utiliser PowerShell pour supprimer le dossier de profil utilisateur

Pour accéder à cet élément, incluez ce [0] à la dernière commande comme indiqué ci-dessous.

|__+_|

Maintenant, nous avons C:

Comment utiliser PowerShell pour supprimer le dossier de profil utilisateur

J'ai mentionné plus tôt que tous les profils d'utilisateurs se trouvent dans le dossier Utilisateurs. A partir de la dernière commande, j'ajouterai Users au retour C:Users

|__+_|

Maintenant, nous avons le chemin complet vers le dossier Utilisateurs.

Dans la commande suivante, j'utiliserai Get-ChildItem pour répertorier tous les dossiers de profil utilisateur dans le dossier Utilisateurs. Cependant, pour éviter les erreurs, je vais d'abord enregistrer la dernière commande dans une variable.

|__+_|

Maintenant, je peux utiliser Get-ChildItem pour renvoyer tous les dossiers de profil utilisateur dans le dossier Utilisateurs. Voici la commande :

|__+_|

Et le résultat dans PowerShell…

Comment utiliser PowerShell pour supprimer le dossier de profil utilisateur

Le dernier bit sera de diriger la dernière commande vers Remove-Item. Cependant, vous devez utiliser le paramètre Filter pour supprimer uniquement le dossier de profil utilisateur dont vous souhaitez vous débarrasser.

Dans cet exemple, je veux supprimer le dossier de profil utilisateur appelé victo et tous ses sous-dossiers

Voici la dernière commande qui utilise PowerShell pour supprimer le dossier de profil utilisateur :

|__+_|

Après avoir exécuté cette commande, si vous exécutez la commande ci-dessous, le profil supprimé ne sera plus répertorié.

|__+_|

Comment utiliser PowerShell pour supprimer un dossier d'Appdata

PowerShell a deux variables d'environnement pour le dossier AppData d'un utilisateur connecté.

|__+_|

La variable d'environnement que vous décidez d'utiliser dépend de l'emplacement du dossier que vous souhaitez supprimer. Cependant, si vous n'êtes pas sûr de l'emplacement du dossier que vous souhaitez supprimer, vous pouvez rechercher les deux emplacements.

Pour ce faire, je vais enregistrer les deux variables d'environnement dans une variable appelée $appdatafolders…

|__+_|

Ensuite, j'utiliserai la boucle ForEach pour vérifier les deux emplacements. Voici le code qui fait ce travail…

|__+_| J'ai inclus le paramètre WhatIf pour que PowerShell ne supprime pas le dossier. Au lieu de cela, PowerShell affichera l'action qu'il devait effectuer si le paramètre WhatIf n'était pas inclus.

Voici le résultat de la commande dans PowerShell. L'image à droite de la capture d'écran est le dossier dans mon dossier AppData.

Comment utiliser PowerShell pour supprimer un dossier d'Appdata

Comment utiliser PowerShell pour supprimer le dossier caché

La commande Get-ChildItem a un paramètre appelé Hidden. Si vous souhaitez répertorier les dossiers masqués dans un dossier spécifié, incluez le paramètre Hidden.

Dans ma capture d'écran ci-dessous, j'ai 3 dossiers (non ou eux cachés).

Pour montrer comment utiliser PowerShell pour supprimer des dossiers cachés, je vais masquer Textfiles3. Maintenant, le dossier est caché.

Comment utiliser PowerShell pour supprimer le dossier caché

Pour lister le dossier caché, je vais exécuter la commande ci-dessous…

|__+_|

Comme prévu, la commande répertorie uniquement le dossier caché.

Pour supprimer le dossier caché avec PowerShell, je vais maintenant diriger la dernière commande vers la commande Remove-Item.

|__+_|

Pour confirmer que le dossier a été supprimé, j'ai activé l'attribut Afficher les éléments cachés dans l'Explorateur de fichiers.

Comment utiliser PowerShell pour supprimer le dossier caché

Comment utiliser PowerShell pour supprimer des fichiers mais conserver la structure des dossiers

Dans certains cas, vous souhaiterez peut-être supprimer tous les fichiers d'un dossier, y compris ses sous-dossiers, tout en conservant la structure du dossier.

Pour ce faire, vous devez exécuter la commande Get-ChildItem et spécifier le paramètre File. Lorsque vous utilisez le paramètre File, Get-ChildItem répertorie uniquement les fichiers du dossier spécifié.

Pour montrer comment cela fonctionne, j'ai créé une structure de dossiers illustrée dans la capture d'écran ci-dessous :

Comment utiliser PowerShell pour supprimer des fichiers mais conserver la structure des dossiers

Comme le montre la capture d'écran, dossier1 a deux sous-dossiers, dossier2 et dossier3. De plus, dossier2 et dossier3 contiennent des fichiers.

Pour utiliser Get-ChildItem pour afficher uniquement les fichiers dans le chemin, F:ITGFilesfolder1, je vais exécuter la commande ci-dessous :

|__+_|

La commande affiche uniquement les fichiers dans les deux chemins, F:ITGFilesfolder1folder2 et Directory : F:ITGFilesfolder1folder3

Enfin, pour supprimer les fichiers mais conserver la structure des dossiers, dirigez la dernière commande vers Remove-Item…

|__+_|

La commande supprime tous les fichiers mais laisse la structure des dossiers intacte !

Comment utiliser PowerShell pour supprimer le dossier de clé de registre

La commande pour répertorier et supprimer un dossier de clé de registre est la même que celle utilisée pour supprimer des dossiers normaux.

Si vous avez lu ce guide depuis le début, nous avons utilisé deux commandes jusqu'à présent :

Get-ChildItem : utilisé pour lister les éléments dans un chemin spécifié
Retirer l'objet : utilisé pour supprimer les fichiers/dossiers listés par Get-ChildItem

La seule différence, cependant, est la façon dont vous accédez aux dossiers de clés de registre.

Il existe plusieurs façons de formater une clé de registre à utiliser dans les commandes Get-ChildItem et Remove-Item. Cependant, pour cet exemple, je vais utiliser la méthode ci-dessous :

|__+_|

Dans cet exemple, je souhaite accéder au dossier de la clé de registre, HKEY_CURRENT_USERControl PanelDesktop. Comme vous pouvez le voir dans le format de commande ci-dessus, pour ce faire, j'ai ajouté le mot registre, suivi de deux deux-points, ::

Pour en savoir plus sur le fonctionnement de PowerShell avec le registre Windows, lisez notre guide - Comment utiliser PowerShell pour lire la valeur du registre .

En déplaçant l'exemple à l'étape suivante, pour répertorier les éléments dans le dossier de clé de registre ci-dessus, exécutez la commande ci-dessous :

|__+_|

La commande affiche tous les dossiers de sous-clé dans le dossier de clé de registre spécifié.

Si je veux supprimer un dossier spécifié, je vais d'abord exécuter Get-ChildItem. Ensuite, je dirigerai la sortie vers Select-Object

|__+_|

La commande ci-dessus affiche le chemin complet de toutes les sous-clés de mon dossier de clés de registre d'origine :

Comment utiliser PowerShell pour supprimer le dossier de clé de registre

Ensuite, pour supprimer les sous-clés, je dirigerai la dernière commande vers Remove-Item. Cependant, pour supprimer un dossier de sous-clé spécifique, je vais d'abord diriger la dernière commande vers Where-Object et filtrer par le nom de la sous-clé que je veux supprimer :

|__+_|

La dernière commande renvoie désormais uniquement le chemin d'accès au dossier de sous-clé de registre spécifié.

Enfin, pour supprimer cette sous-clé de dossier avec PowerShell, dirigez la dernière commande vers Remove-Item. Avant cela, bien que vous deviez modifier la clé de registre et la rediriger vers Get-Item.

Pour simplifier, je vais enregistrer la dernière commande dans une variable

|__+_|

Ensuite, formatez-le pour la commande Get-Item

clé générique windows 7
|__+_|

Enfin, dirigez le chemin de la clé formatée vers Get-Item…

|__+_|

Maintenant, nous pouvons supprimer la valeur en redirigeant la dernière commande vers Remove-Item (j'ai inclus le paramètre whatif car je ne veux PAS supprimer cette clé)

|__+_|

Et voici le résultat…

Comment utiliser PowerShell pour supprimer le dossier de clé de registre

Comment utiliser PowerShell pour supprimer le nom du dossier comme

Au cours d'autres exemples de ce guide, j'ai montré comment utiliser PowerShell pour supprimer un nom de dossier à l'aide du filtre Like. De plus, comme déjà montré dans les exemples précédents, ce filtre peut être appliqué dans la commande Get-ChildItem ou dans la commande Where-Object.

Par exemple, pour supprimer tous les fichiers et dossiers avec des noms comme file dans le chemin F:ITGFiles, je peux utiliser la commande ci-dessous :

|__+_| Pour que le filtre fonctionne, vous devrez peut-être utiliser un caractère générique. Dans cet exemple, j'utilise le caractère générique astérisque.

Je peux obtenir le même résultat en dirigeant Get-ChildItem vers Where-Object. Effectuez ensuite le filtrage dans Where-Object.

|__+_|

La commande renvoie le même résultat que la dernière commande !

Comment utiliser PowerShell pour supprimer le nom du dossier comme

Comme pour les autres exemples de ce guide, pour supprimer le dossier, dirigez la sortie de l'une des deux commandes vers Remove-Item.

Comment utiliser PowerShell pour supprimer des dossiers supérieurs à une taille spécifiée

Si vous souhaitez supprimer des dossiers supérieurs à une taille spécifiée avec PowerShell, vous devez d'abord calculer la taille des dossiers dans le chemin spécifié.

Cependant, vous devez répertorier le chemin d'accès complet aux sous-dossiers dans le chemin de dossier spécifié. Pour répertorier le chemin complet de tous les sous-dossiers dans un chemin de dossier, exécutez une commande similaire à celle ci-dessous :

|__+_|

La commande répertorie les chemins d'accès complets à tous les sous-dossiers dans le chemin du dossier, F:ITGFiles

En utilisant le Profondeur paramètre avec une valeur 0, au lieu de Recurser garantit que seuls les sous-dossiers de premier niveau sont renvoyés. Comment utiliser PowerShell pour supprimer un dossier partagé réseau

Maintenant que j'ai le chemin complet du sous-dossier, je vais utiliser ces informations pour calculer la taille de chaque sous-dossier. Cependant, pour avoir le chemin complet vers les sous-dossiers (nécessaire pour le supprimer plus tard) et la taille, je dois créer un script personnalisé.

Voici le script complet :

|__+_|

Et voici le résultat de la commande dans PowerShell ISE .

Comme vous pouvez le voir sur la capture d'écran, le script ne renvoie qu'un seul fichier répondant aux critères de taille (10 Mo).

Évidemment, nous avons un dernier bit pour terminer la tâche - supprimer le fichier. Pour supprimer le fichier qui répond à l'exigence de taille, j'ai modifié l'instruction IF comme indiqué dans ce script…

comment effacer le chat du serveur Discord
|__+_|

Donc, voici le script final qui supprime les dossiers plus grands qu'une valeur spécifiée

|__+_| Pour utiliser le script, modifiez le chemin F:ITGFiles dans Get-ChildItem - ligne 1. Modifiez également la taille du dossier que vous souhaitez supprimer - de 10 (en Mo) à la taille requise.

Comment utiliser PowerShell pour supprimer un dossier partagé réseau

Le processus d'utilisation de PowerShell pour supprimer des dossiers réseau n'est pas différent de la suppression de dossiers locaux. La seule différence est la façon dont vous spécifiez un dossier réseau.

Outre la façon dont vous spécifiez un dossier réseau, vous devez également disposer des autorisations appropriées. Plus précisément, vous devez disposer de l'autorisation Modifier le partage.

De plus, vous devez également disposer de l'autorisation de modification de la sécurité NTFS.

Une fois ces exigences d'autorisations remplies, vous pouvez accéder au dossier réseau avec la commande Get-ChildItem. Ensuite, pour supprimer le dossier, dirigez la sortie de Get-ChildItem vers Remove-Item.

Pour montrer comment utiliser PowerShell pour supprimer un dossier réseau, j'utiliserai un dossier partagé appelé TestShare. Le dossier se trouve sur mon Windows 11 PC de test appelé ITGWIN11BETA.

Pour répertorier le contenu du dossier réseau partagé, je vais utiliser la commande Get-ChildItem comme indiqué ci-dessous…

|__+_|

Tout comme un dossier local, la commande répertorie tous les dossiers et sous-dossiers du dossier réseau partagé.

Comment utiliser PowerShell pour supprimer un dossier ou un fichier commençant par

À partir de ce point, vous pouvez diriger la dernière commande directement vers Remove-Item. Alternativement, vous appliquez un filtre avant de le diriger vers Remove-Item.

Par exemple, si vous souhaitez supprimer un dossier spécifique, vous pouvez utiliser le Filtre paramètre dans Get-ChildItem. Alternativement, vous pouvez diriger Get-ChildItem vers Where-Object et utiliser le Filtre paramètre dans Where-Object.

Enfin, pour supprimer l'élément dans le dossier partagé du réseau, dirigez le résultat vers Remove-Item.

Comment utiliser PowerShell pour supprimer un dossier ou un fichier commençant par

Si vous souhaitez supprimer des dossiers ou des fichiers commençant par un nom particulier, vous pouvez utiliser le Filtre paramètre dans l'applet de commande Get-ChildItem pour répertorier les fichiers. Ensuite, transférez le résultat à Remove-Item.

Alternativement, vous pouvez utiliser le Supprimer() Méthode dans Get-ChildItem.

Pour illustrer cet exemple, je supprimerai tous les fichiers et dossiers commençant par f dans la capture d'écran ci-dessous.

Comme je l'ai mentionné précédemment, la première étape consiste à utiliser l'applet de commande Get-ChildItem avec le paramètre Filter. Voici un exemple de commande :

|__+_| Une autre option pourrait être de diriger Get-ChildItem vers Where-Object et d'effectuer le filtrage dans Where-Object .

La commande répertorie tous les fichiers commençant par f. Voir la capture d'écran ci-dessous:

Comment utiliser PowerShell pour supprimer un fichier ou un fichier, puis écrire un rapport dans un fichier journal

La dernière étape pour supprimer tous les dossiers et fichiers commençant par f consiste à diriger la sortie de

|__+_|

Comment utiliser PowerShell pour supprimer le dossier SoftwareDistribution

Comme vous le savez peut-être déjà, les magasins Windows ont téléchargé les mises à jour dans le dossier SoftwareDistribution. Idéalement, vous n'aurez pas besoin de supprimer ce dossier.

Cependant, si la base de données Windows Update est corrompue, une façon de le réparer consiste à supprimer le Distribution de logiciels dossier. Avant de faire cela, vous devez d'abord arrêter la mise à jour Windows.

Pour arrêter le service Windows Update, exécutez PowerShell en tant qu'administrateur. Ensuite, exécutez la commande ci-dessous :

|__+_| Si vous n'arrêtez pas le service Windows Update, vous ne pourrez PAS supprimer le Distribution de logiciels dossier

Ensuite, pour utiliser PowerShell pour supprimer le dossier SoftwareDistribution, exécutez les commandes ci-dessous :

|__+_|

Enfin, pour recréer le dossier SoftwareDistribution, redémarrez le service Windows Update

|__+_|

Comment utiliser PowerShell pour supprimer un fichier ou un dossier après l'avoir compressé

Pour compresser un fichier ou un dossier, utilisez la commande Compress-Archive comme indiqué dans l'exemple ci-dessous :

|__+_| Remplacez LiteralPath par le chemin source du fichier ou du dossier que vous souhaitez compresser. Remplacez également DestinationPath par le chemin dans lequel vous souhaitez enregistrer le fichier compressé.

Une fois que vous avez compressé le fichier, utilisez la commande ci-dessous pour le supprimer…

|__+_|

Comment utiliser PowerShell pour supprimer un fichier ou un fichier, puis écrire un rapport dans un fichier journal

Si vous souhaitez utiliser PowerShell pour supprimer un fichier ou un dossier, puis signaler les actions dans un fichier journal, vous devez d'abord définir les noms des fichiers journaux.

Dans cet exemple, je veux avoir deux fichiers journaux, 1 pour enregistrer le succès et le second pour enregistrer les erreurs.

J'aime normalement créer mes fichiers journaux en fonction de la date. Pour cet exemple, je vais d'abord créer un horodatage et l'enregistrer dans une variable :

|__+_|

Ensuite, je vais créer deux fichiers journaux basés sur l'horodatage…

|__+_|

Il manque une pièce - le chemin du répertoire pour enregistrer les fichiers journaux. Pour ajouter ce bit, je vais enregistrer le chemin dans une variable…

|__+_|

Ensuite, ajoutez le chemin vers les fichiers journaux ci-dessus…

|__+_|

Les deux dernières commandes créent deux fichiers journaux. Pour plus de détails, voir la capture d'écran ci-dessous…

Maintenant que j'ai créé nos fichiers journaux, je vais maintenant créer un script PowerShell qui supprimera les fichiers et dossiers dans un chemin spécifié. Ensuite, écrivez des rapports dans les fichiers journaux.

Dans cet exemple, je veux supprimer des fichiers dans le dossier WindowsTemp. La première étape consiste à enregistrer le chemin de ce dossier dans une variable…

|__+_|

Ensuite, j'utiliserai Get-ChildItem pour répertorier le contenu du dossier et diriger la sortie vers Remove-Item.

Cependant, pour pouvoir capturer les erreurs, j'ai besoin de joindre la commande entière dans un Try, Catch.

Voici le script complet…

|__+_| Pour utiliser le script, copiez-le dans PowerShell ISE . Ensuite, remplacez la variable $Path par le chemin du dossier que vous souhaitez supprimer. Modifiez également $LogPath par le chemin du dossier dans lequel vous souhaitez enregistrer vos fichiers journaux.

C'est tout - notre guide complet pour utiliser PowerShell pour supprimer des fichiers ou des dossiers ! J'espère que vous avez trouvé le guide utile.

Si vous l'avez trouvé utile, merci de voter Oui à Ce message vous a-t-il été utile ? au dessous de. Alternativement, vous pouvez partager des commentaires détaillés avec le formulaire LAISSER UNE RÉPONSE à la fin de cette page.

Enfin, pour plus de guides PowerShell avec des exemples, visitez notre page Windows PowerShell How-To. Vous pouvez également trouver utiles nos guides de formation GRATUITS sur PowerShell.