supprimer tous les fichiers de type spécifique dans un répertoire à l’aide d’un fichier de commandes

OK, je sais que beaucoup de gens ont peut-être posé la question à ce sujet, mais je n’arrive pas à trouver ma réponse. Ce que je veux faire, c’est que je veux supprimer tous les fichiers .jpg et .txt (par exemple) dans dir1 et dir2.

Ce que j’ai fait était:

@echo off FOR %%p IN (C:\testFolder D:\testFolder) DO FOR %%t IN (*.jpg *.txt) DO del /s %%p\%%t 

Dans certains répertoires, cela fonctionnait, dans d’autres pas. Comme pour .eg cela n’a rien fait:

 @echo off FOR %%p IN (C:\Users\vexe\Pictures\sample) DO FOR %%t IN (*.jpg) DO del /s %%p\%%t 

Pourriez-vous m’aider ici, je suis novice en écriture de fichiers batch, est-ce la bonne façon de le faire? sinon, quelle est la bonne façon? si c’est le cas, alors qu’est-ce que je manque dans le deuxième extrait? pourquoi ça n’a pas marché? thnx pour tous les conseils 🙂

Vous pouvez utiliser des caractères génériques avec la commande del et /S pour le faire de manière récursive.

del /S *.jpg

Addenda

@BmyGuest a demandé pourquoi une réponse del /sc:\*.blaawbg ( del /sc:\*.blaawbg ) était différente de ma réponse.

Il y a une énorme différence entre exécuter del /S *.jpg et del /SC:\*.jpg . La première commande est exécutée à partir de l’emplacement actuel , tandis que la seconde est exécutée sur l’ensemble du lecteur .

Dans le cas où vous supprimez des fichiers jpg à l’aide de la deuxième commande, certaines applications peuvent cesser de fonctionner et vous perdrez toutes vos photos de famille. C’est très ennuyeux, mais votre ordinateur sera toujours capable de fonctionner.

Toutefois, si vous travaillez sur un projet et souhaitez supprimer tous vos fichiers dll dans myProject\dll et exécutez le fichier de commandes suivant:

 @echo off REM This short script will only remove dlls from my project... or will it? cd \myProject\dll del /S /QC:\*.dll 

Ensuite, vous supprimez tous les fichiers dll votre lecteur C:\ . Toutes vos applications cessent de fonctionner, votre ordinateur devient inutile et au prochain redémarrage, vous êtes téléporté dans la quasortingème dimension où vous serez bloqué pour l’éternité.

La leçon à tirer ici est de ne pas exécuter cette commande directement à la racine d’un lecteur (ou dans tout autre endroit pouvant être dangereux, tel que %windir% ) si vous pouvez l’éviter. Toujours les exécuter aussi localement que possible.

Il y a quelque temps, j’ai écrit un script de traitement par lots qui vous permet de choisir une extension de fichier à supprimer. Le script recherchera dans le dossier dans lequel il se trouve et tous les sous-dossiers de tout fichier portant cette extension et le supprimera.

 @ECHO OFF CLS SET found=0 ECHO Enter the file extension you want to delete... SET /p ext="> " IF EXIST *.%ext% ( rem Check if there are any in the current folder :) DEL *.%ext% SET found=1 ) FOR /D /R %%G IN ("*") DO ( rem Iterate through all subfolders IF EXIST %%G CD %%G IF EXIST *.%ext% ( DEL *.%ext% SET found=1 ) ) IF %found%==1 ( ECHO. ECHO Deleted all .%ext% files. ECHO. ) ELSE ( ECHO. ECHO There were no .%ext% files. ECHO Nothing has been deleted. ECHO. ) PAUSE EXIT 

J’espère que cela sera utile à quiconque le veut 🙂

Si vous essayez de supprimer certaines extensions dans le lecteur C:, utilisez cette commande:

 del /sc:\*.blaawbg 

J’avais un client qui avait un virus de cryptage et j’avais besoin de trouver tous les fichiers inutiles et de les supprimer.