[DOS] Supprimer tout sauf une extension
Résolu
Toto
-
Pierrot6150 Messages postés 3186 Statut Membre -
Pierrot6150 Messages postés 3186 Statut Membre -
Bonjour,
je souhaite écrire un fichier BATCH qui supprimerait tous les fichiers sauf ceux qui ont une extension particulière.
Comment faire ?
Merci !
je souhaite écrire un fichier BATCH qui supprimerait tous les fichiers sauf ceux qui ont une extension particulière.
Comment faire ?
Merci !
A voir également:
- [DOS] Supprimer tout sauf une extension
- Supprimer rond bleu whatsapp - Guide
- Supprimer une page word - Guide
- Changer extension fichier - Guide
- Comment supprimer une application préinstallée sur android - Guide
- Supprimer pub youtube - Accueil - Streaming
15 réponses
Bonjour .
Non , mais il y' a plus simple , il faut simplement saisir cette commande sous
le dossier concerné :
del *xxx /s /q
(Bien sûr "*.xxx" représente la véritable extension) .
Non , mais il y' a plus simple , il faut simplement saisir cette commande sous
le dossier concerné :
del *xxx /s /q
(Bien sûr "*.xxx" représente la véritable extension) .
Je comprends pas ?
/s pour supprimer le fichier spécifié des dossiers et sous-dossiers.
/P pour la confirmation
En gros tu veux que je dise oui ou non à la main sur 10000 fichiers ?
/s pour supprimer le fichier spécifié des dossiers et sous-dossiers.
/P pour la confirmation
En gros tu veux que je dise oui ou non à la main sur 10000 fichiers ?
hello
avec un .bat.
ici on ne garde que les .exe. A tester bien sûr.
avec un .bat.
ici on ne garde que les .exe. A tester bien sûr.
@echo off
set EXT=.exe
for /f "delims=" %%f in ('dir /b') do if not %%~xf == %EXT% del %%f
Je vais tenter demain. Merci pour le message.
Il faudrait que ce soit récursif dans chaque sous dossier. Et je suis dessus aussi, sauf que je n'arrive pas à détecter les sous-dossiers d'un dossier en Batch.
Ce bout de code ne m'affiche pas les sous dossiers que l'on trouve dans TestEcnryption. Je ne sais pas trop pourquoi..
Je ne maîtrise pas le Batch et je fais au hasard pour tout ce qui est guillemet etc autour des variables, des commandes etc...
Il faudrait que ce soit récursif dans chaque sous dossier. Et je suis dessus aussi, sauf que je n'arrive pas à détecter les sous-dossiers d'un dossier en Batch.
set VrSource=C:\/"Documents and Settings/"\tts\/"Mes documents/"\Toto\TestEcnryption
for %%b In ('dir /AD %VrSource%') Do (
echo %%b
)
Ce bout de code ne m'affiche pas les sous dossiers que l'on trouve dans TestEcnryption. Je ne sais pas trop pourquoi..
Je ne maîtrise pas le Batch et je fais au hasard pour tout ce qui est guillemet etc autour des variables, des commandes etc...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Non ça ne marche pas non plus. C'est peut être la bonne utilisation, mais je l'utilise probablement mal... Toujours est-il que le 'echo %%b' m'affiche le chemin %VrSource% et c'est tout. Pas de sous dossier etc... Je suis vraiment bloqué :s
essayer
set VrSource="C:\Documents and Settings\tts\Mes documents\Toto\TestEcnryption"
for /f "delims=" %%b In ('dir /b/s %VrSource%') Do (
echo %%b
)
J'ai le message suivant :
Je vais regarder ça de plus prêt.
Option non valide - ""Documents and Settings/"\tts\".
Je vais regarder ça de plus prêt.
"C:\Documents and Settings\tts\Mes documents\Toto\TestEcnryption"
Pour vérifier que le chemin est bien correct...
Exécuter cmd.exe
Ensuite exécute une commande à la fois, et des qu'il y a une erreur...
faire un dir *.* pour afficher le contenue fichier/dossier
cd "C:\Documents and Settings"
cd tts
cd "Mes documents"
cd Toto
cd TestEcnryption
Pour vérifier que le chemin est bien correct...
Exécuter cmd.exe
Ensuite exécute une commande à la fois, et des qu'il y a une erreur...
faire un dir *.* pour afficher le contenue fichier/dossier
cd "C:\Documents and Settings"
cd tts
cd "Mes documents"
cd Toto
cd TestEcnryption
Si je fais juste
j'ai l'impression qu'il n'exécute pas la commande 'dir' car echo %%b affiche :
for %%b In ('dir /b/s %VrSource%') Do (
echo %%b
)
j'ai l'impression qu'il n'exécute pas la commande 'dir' car echo %%b affiche :
'dir /b/s C:\/"Documents and Settings/"\tts\/"Mes documents/"\Nicolas\TestEcnryption'
lis mes réponses
Au temps pour moi, mon erreur venait des guillemets autour du chemin d'accès.. En effet, ça marche. Ca me sort tous les fichiers et sous-dossiers. Je pensais que je n'aurais que les dossier en fait.
Alors en rajoutant l'option /AD, je ne récupère que les sous-dossiers.
Par contre, je ne comprends pas bien le rôle/fonctionnement de delims écrit comme ça ?
Alors en rajoutant l'option /AD, je ne récupère que les sous-dossiers.
for /f "delims=" %%b In ('dir /b/s/ad %VrSource%') Do (
echo %%b
)
Par contre, je ne comprends pas bien le rôle/fonctionnement de delims écrit comme ça ?
Bonjour,
Sauve les extentions particuliaires et puis delete tous tes fichiers, puis recopie les fichiers sauvegardés !
Avec un .bat avec Xcopy et \exclude
Sauve les extentions particuliaires et puis delete tous tes fichiers, puis recopie les fichiers sauvegardés !
Avec un .bat avec Xcopy et \exclude
Je souhaite effectuer des commandes sur des noms de fichier n'ayant pas un extension particulière. Dubcek proposait:
Je viens d'utiliser la portion de code suivante
Ca ne semble pas fonctionner.
J'ai aussi essayé
Mais le symbole '*' ne semble pas être bien interprété...
Une idée ?
merci !
@echo off
set EXT=.exe
for /f "delims=" %%f in ('dir /b') do if not %%~xf == %EXT% del %%f
Je viens d'utiliser la portion de code suivante
if not %%~xf == %EXT%
Ca ne semble pas fonctionner.
J'ai aussi essayé
set EXT=*.bat ... if not %%a == %EXT% (..)
Mais le symbole '*' ne semble pas être bien interprété...
Une idée ?
merci !
Bonjour,
Pour XP par exemple puisque vous ne donnez pas votre version windows :
Ouvrir un nouveau fichier vierge dans le bloc-notes de la meme manière. Copiez-y le texte : le texte est : windows.
Vérifier ensuite que ce fichier ne possède bien aucune extension (pour cela les extensions doivent etre affichées -cf §1-).
Il faut faire apparaitre l'extension et pour pouvoir l'effacer, c'est simple, une fois le fichier créée, il suffit de cliquer deux fois lentement sur le titre et vous pouvez le modifier, en effacant le .xxx, l'extension est alors supprimée (ou en faisant un clic droit, puis la renommer).
Info : si votre version de xp, (si xp), est une "media center", la procédure ne fonctionne pas en présence de cette version, que trés rarement.
Pour XP par exemple puisque vous ne donnez pas votre version windows :
Ouvrir un nouveau fichier vierge dans le bloc-notes de la meme manière. Copiez-y le texte : le texte est : windows.
Vérifier ensuite que ce fichier ne possède bien aucune extension (pour cela les extensions doivent etre affichées -cf §1-).
Il faut faire apparaitre l'extension et pour pouvoir l'effacer, c'est simple, une fois le fichier créée, il suffit de cliquer deux fois lentement sur le titre et vous pouvez le modifier, en effacant le .xxx, l'extension est alors supprimée (ou en faisant un clic droit, puis la renommer).
Info : si votre version de xp, (si xp), est une "media center", la procédure ne fonctionne pas en présence de cette version, que trés rarement.
Merci, mais ce n'est pas exactement ce que je veux faire...
Il s'agit d'un process automatisé via un script Batch qui aurait pour but d'effectuer des commandes sur tous les fichiers sauf ceux ayant une extension particulière. Dans mon cas l'extension c'est .bat.
Donc j'essayais d'utiliser la solution de Dubcek pour travailler sur les bons fichiers, mais ça ne fonctionne pas...
Il s'agit d'un process automatisé via un script Batch qui aurait pour but d'effectuer des commandes sur tous les fichiers sauf ceux ayant une extension particulière. Dans mon cas l'extension c'est .bat.
Donc j'essayais d'utiliser la solution de Dubcek pour travailler sur les bons fichiers, mais ça ne fonctionne pas...
set EXT=*.bat doit être set EXT=.bat
Tu ne prend que l'extension pour comparer, normal que tout ce qui est avant le point n'existe pas.
.BAT .EXE .HTML etc...
Pour connaitre les paramètres exact d'une fonction, dans l'invite de commande...
FOR /?
Cela est valable pour toute les fonctions possible en batch.
Tu ne prend que l'extension pour comparer, normal que tout ce qui est avant le point n'existe pas.
.BAT .EXE .HTML etc...
Pour connaitre les paramètres exact d'une fonction, dans l'invite de commande...
FOR /?
Cela est valable pour toute les fonctions possible en batch.