Comment supprimer des fichiers mais conserver des dossiers sur Windows 10




Comment vider un dossier de ses fichiers tout en préservant sa structure ?

Créer des dossiers n’est pas une tâche ardue. Cependant, lorsque l’on a élaboré une arborescence de répertoires complexe et bien organisée, il est rarement souhaitable de la reconstruire intégralement. Il existe des méthodes pour dupliquer une telle structure en omettant les fichiers, mais il est également possible de simplement supprimer les fichiers tout en conservant la structure de dossiers que vous avez mise en place. Cette approche vous offre une grande flexibilité. Nous allons vous montrer comment réaliser cette opération de nettoyage de fichiers à l’aide d’une commande PowerShell simple.

Supprimer les fichiers, mais garder les dossiers : méthode PowerShell

Pour réaliser cette opération, vous n’aurez pas besoin de privilèges d’administrateur, à moins que vous n’interveniez sur des fichiers situés à la racine du lecteur C. Les droits d’utilisateur standard sont suffisants pour des suppressions dans votre dossier utilisateur ou sur tout autre lecteur, qu’il soit interne ou externe.

Ouvrez PowerShell, et saisissez la commande ci-dessous en remplaçant « chemin-du-dossier » par le chemin d’accès complet du répertoire que vous souhaitez nettoyer. Cette commande effacera tous les fichiers présents dans ce dossier, ainsi que tous ceux qui sont contenus dans ses sous-répertoires. Attention, cette action supprime directement les fichiers sans les envoyer dans la corbeille. Il est donc crucial de les sauvegarder au préalable.

Commande :

Get-ChildItem -Path "chemin-du-dossier" -Include *.* -File -Recurse | foreach { $_.Delete()}

Exemple :

Get-ChildItem -Path "D:BureauJan 13 - 17" -Include *.* -File -Recurse | foreach { $_.Delete()}

Cette commande peut être ajustée pour cibler des types de fichiers spécifiques. Pour cela, il vous faudra modifier la partie suivante :

*.*

Remplacez le second astérisque par l’extension des fichiers que vous souhaitez supprimer. Par exemple, pour éliminer tous les fichiers texte d’un répertoire, utilisez cette syntaxe:

Get-ChildItem -Path "chemin-du-dossier" -Include *.txt -File -Recurse | foreach { $_.Delete()}

Tous les autres types de fichiers seront laissés intacts. Comme mentionné précédemment, les fichiers seront immédiatement effacés sans passer par la corbeille. Il est donc essentiel d’effectuer une sauvegarde préalable. Cette commande est également très pratique pour supprimer un fichier portant le même nom et présent dans différents dossiers, par exemple « image.png ». Dans ce cas, modifiez la partie contenant les deux astérisques comme suit :

Get-ChildItem -Path "chemin-du-dossier" -Include image.png -File -Recurse | foreach { $_.Delete()}

Bien qu’il existe des outils plus poussés pour la suppression de fichiers, ces derniers sont souvent complexes à manier. Cette commande PowerShell, quant à elle, est d’une grande simplicité et limite le risque d’erreurs, puisque les dossiers sont préservés.