Comment supprimer tous les fichiers sauf certains spécifiques à l’aide de l’invite de commande Windows

L’invite de commande Windows peut sembler un peu intimidante pour de nombreux utilisateurs, mais avec une compréhension de base des commandes, elle devient un outil incroyablement puissant. Cet article expliquera comment supprimer facilement tous les fichiers sauf certains spécifiques, ce qui peut être très utile pour organiser des fichiers ou automatiser des processus par lots.

Sommaire

Étape 1 : Opérations de base de l’invite de commande

Tout d’abord, commençons par comment lancer l’invite de commande. Appuyez sur la touche Windows + R pour ouvrir la boîte de dialogue « Exécuter », tapez ‘cmd’ et appuyez sur Entrée. Cela lancera l’invite de commande.

Changement de répertoires

Avant de commencer à travailler dans l’invite de commande, vous devez naviguer vers le répertoire (dossier) dans lequel vous souhaitez travailler. Utilisez la commande cd pour cela. Par exemple, pour vous déplacer vers le dossier Documents, vous taperiez ce qui suit.

cd C:\Users\<YourUsername>\Documents

Lister les fichiers et les répertoires

Pour afficher une liste des fichiers et des sous-répertoires dans le répertoire actuel, utilisez la commande dir. Cette commande est utile pour vérifier quels fichiers sont ciblés avant d’effectuer des opérations sur eux.

Exécuter des commandes

Dans l’invite de commande, vous pouvez exécuter diverses commandes pour opérer sur des fichiers et des répertoires. Utilisez la commande del pour supprimer des fichiers et la commande rmdir ou rd pour supprimer des répertoires, ce que nous expliquerons plus en détail plus loin dans cet article.

Comprendre ces opérations de commande de base vous permet de gérer plus efficacement des tâches plus complexes en utilisant l’invite de commande Windows. Dans la section suivante, nous examinerons en détail comment supprimer tous les fichiers sauf certains spécifiques.

Étape 2 : Lister les fichiers en excluant certains spécifiques

Utiliser l’invite de commande Windows pour exclure certains fichiers spécifiques et lister les autres peut être très utile pour la gestion des fichiers ou la préparation à des opérations spécifiques. Cette étape explique comment exclure de la liste les fichiers qui ne répondent pas à certains critères.

Utiliser la commande findstr

Une manière d’exclure des fichiers spécifiques lors de leur listage est de combiner la commande dir avec la commande findstr. Ici, nous verrons comment exclure les fichiers avec l’extension .txt de la liste comme exemple.

dir | findstr /v /i ".txt$"

Cette commande obtient la liste des fichiers dans le répertoire actuel avec la commande dir et envoie cette sortie à la commande findstr. L’option /v affiche uniquement les lignes qui ne correspondent pas au motif spécifié. L’option /i effectue une recherche insensible à la casse. Le ".txt$" est une expression régulière qui recherche les lignes se terminant par .txt.

Si vous avez plusieurs fichiers à exclure

Si vous souhaitez exclure plusieurs extensions ou conditions spécifiques, vous élargissez le motif de recherche de la commande findstr. Par exemple, pour exclure les fichiers .txt et .docx, vous exécuteriez la commande suivante.

dir | findstr /v /i "\.txt$ \.docx$"

Cette méthode vous permet d’exclure efficacement les fichiers qui ne répondent pas à des critères spécifiques, ce qui facilite l’identification des fichiers que vous souhaitez. La gestion des fichiers dans l’invite de commande devient plus flexible et efficace.

Attention

Lors de l’utilisation de ces commandes dans l’invite de commande, il est important de spécifier des noms de fichiers ou des motifs précis. Spécifier le mauvais motif pourrait exclure des fichiers inattendus de la liste. De plus, vérifiez soigneusement la sortie des commandes pour vous assurer que les résultats attendus sont obtenus avant de procéder à des opérations.

Étape 3 : Suppression conditionnelle de fichiers avec la commande for

Pour supprimer tous les fichiers sauf certains spécifiques dans l’invite de commande Windows, la commande for peut être utilisée pour gérer facilement des conditions complexes. Cette étape explique comment utiliser la commande for pour effectuer des opérations de suppression sur des fichiers qui répondent à certaines conditions.

Syntaxe de base de la commande for

La syntaxe de base de la commande for est la suivante.

for %variable in (set) do command [command-parameters]

Cette commande exécute la commande spécifiée pour chaque élément dans le ‘set’ donné, en utilisant la variable pour contenir temporairement la valeur de chaque élément.

Supprimer tous les fichiers sauf certains spécifiques

Par exemple, pour supprimer tous les fichiers dans un répertoire sauf les fichiers .txt, vous utiliseriez la commande suivante.

for %i in (*.*) do if not "%~xi" == ".txt" del "%i"

Cette commande parcourt tous les fichiers dans le répertoire actuel (*.* spécifié) et supprime le fichier si son extension n’est pas .txt (partie if not "%~xi" == ".txt"). %i représente le nom du fichier en cours de traitement, et %~xi représente l’extension du fichier.

Attention

Une extrême prudence est nécessaire lors de l’exécution de cette commande dans l’invite de commande, car il est possible de supprimer accidentellement des fichiers importants. De plus, si vous utilisez cette commande dans un fichier batch (.bat), il est nécessaire de doubler les signes pourcent pour les variables (par exemple, %%i).

En suivant ces étapes, vous pouvez gérer de manière flexible des opérations de fichiers complexes dans l’invite de commande. Comprendre comment gérer efficacement les fichiers selon des conditions spécifiques peut améliorer significativement votre flux de travail dans un environnement Windows.

Étape 4 : Exemples d’application de scripts

En appliquant les commandes apprises dans l’invite de commande Windows, cette section présente des exemples de scripts pour automatiser des tâches plus complexes. Ici, nous expliquerons comment créer un script pour sauvegarder des fichiers qui répondent à certains critères.

Créer un script de sauvegarde

Ce script recherchera des fichiers d’un type de fichier spécifique et les copiera dans un autre répertoire. Par exemple, envisagez de sauvegarder automatiquement des fichiers de documents (.docx).

Contenu du script

@echo off
setlocal enabledelayedexpansion
set "sourceDir=C:\Users\<YourUsername>\Documents"
set "backupDir=C:\Backup"
set "fileType=.docx"

for /r "%sourceDir%" %%i in (*%fileType%) do (
    set "filePath=%%i"
    set "backupPath=!filePath:%sourceDir%=%backupDir%!"
    echo Copying "!filePath!" to "!backupPath!"
    copy "!filePath!" "!backupPath!"
)
echo Backup complete.

Ce fichier batch recherche des fichiers d’un type de fichier spécifié (fileType, ici .docx) dans le répertoire source désigné (sourceDir) et les copie dans le répertoire de sauvegarde (backupDir).

Explication du fonctionnement du script

La boucle for /r recherche de manière récursive tous les fichiers .docx dans le répertoire source et ses sous-répertoires. Pour chaque fichier trouvé, elle remplace le chemin du répertoire source par celui du répertoire de sauvegarde et utilise la commande copy pour copier le fichier.

Comment exécuter le script

Pour exécuter ce script, collez le code ci-dessus dans un éditeur de texte et enregistrez-le avec une extension .bat (par exemple, backupDocs.bat). Ensuite, en exécutant ce fichier batch depuis l’invite de commande, les documents seront automatiquement sauvegardés.

Attention

Avant d’exécuter le script, assurez-vous de définir correctement les chemins pour les répertoires source et de sauvegarde. De plus, lors de la manipulation de données importantes, il est crucial de comprendre le fonctionnement du script et de conduire des tests pour éviter une perte de données accidentelle.

L’application de scripts dans l’invite de commande peut grandement améliorer l’efficacité des tâches quotidiennes. Utilisez cet exemple comme référence pour créer des scripts adaptés à vos besoins.

Exercice : Créer un script pour ne conserver que les fichiers avec une extension spécifique à l’aide de l’invite de commande

Votre tâche consiste à utiliser l’invite de commande pour créer un script qui laisse uniquement les fichiers avec une extension spécifique dans un répertoire particulier, tout en supprimant tous les autres fichiers. Par exemple, essayez de ne conserver que les fichiers avec l’extension .txt.

Explication : Solution à l’exercice et explication détaillée

Pour accomplir cette tâche, utilisez la commande suivante.

for /r %i in (*) do if not "%~xi" == ".txt" del "%i"

Cette commande parcourt tous les fichiers (*) dans le répertoire actuel et ses sous-répertoires. Pour chaque fichier, elle supprime le fichier si son extension n’est pas .txt.

%i représente le fichier actuellement traité dans la boucle, et %~xi est utilisé pour obtenir l’extension du fichier. La condition if not "%~xi" == ".txt" est vraie (et donc le fichier est supprimé) si l’extension n’est pas .txt.

Attention

Avant d’exécuter cette commande, soyez très prudent pour ne pas supprimer accidentellement des fichiers importants. De plus, rappelez-vous que si vous utilisez cette commande à l’intérieur d’un fichier batch, vous devez doubler les signes pourcent pour les variables (par exemple, %%i).

Conclusion

Utiliser l’invite de commande pour supprimer tous les fichiers sauf certains spécifiques est très utile pour la gestion des fichiers. À travers cet exercice, vous avez acquis une compréhension de base des opérations de fichiers dans l’invite de commande Windows et comment les appliquer. Comprenez toujours l’impact des commandes que vous exécutez et prenez des mesures pour protéger les données importantes. Utilisez cette connaissance pour rendre vos tâches quotidiennes plus efficaces.

Sommaire