[DOS] Supprimer tout sauf une extension
Résolu/Fermé
Toto
-
20 janv. 2011 à 11:47
Pierrot6150 Messages postés 1614 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 8 janvier 2017 - 26 janv. 2011 à 19:06
Pierrot6150 Messages postés 1614 Date d'inscription lundi 4 mai 2009 Statut Membre Dernière intervention 8 janvier 2017 - 26 janv. 2011 à 19:06
A voir également:
- [DOS] Supprimer tout sauf une extension
- Supprimer compte instagram - Guide
- Supprimer une page word - Guide
- Supprimer compte facebook - Guide
- Changer extension fichier - Guide
- Supprimer compte gmail - Guide
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 ?
dubcek
Messages postés
18589
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 mars 2023
5 584
20 janv. 2011 à 15:53
20 janv. 2011 à 15:53
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
dubcek
Messages postés
18589
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 mars 2023
5 584
21 janv. 2011 à 08:04
21 janv. 2011 à 08:04
utiliser dir /b/s pour aller dans les sous dossiers
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
dubcek
Messages postés
18589
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 mars 2023
5 584
21 janv. 2011 à 11:56
21 janv. 2011 à 11:56
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.
Pierrot6150
Messages postés
1614
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
8 janvier 2017
557
21 janv. 2011 à 12:41
21 janv. 2011 à 12:41
"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
Pierrot6150
Messages postés
1614
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
8 janvier 2017
557
21 janv. 2011 à 14:13
21 janv. 2011 à 14:13
Si ce chemin est correct, alors pourquoi une erreur...
Option non valide - ""Documents and Settings/"\tts\". ???
Option non valide - ""Documents and Settings/"\tts\". ???
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'
Pierrot6150
Messages postés
1614
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
8 janvier 2017
557
21 janv. 2011 à 14:54
21 janv. 2011 à 14:54
@echo off
setlocal EnableDelayedExpansion
cls
set VrSource="C:\Documents and Settings\tts\Mes documents\Toto\TestEcnryption"
for /R %VrSource% %%b In (*.* ) Do echo %%b
echo.
pause
setlocal EnableDelayedExpansion
cls
set VrSource="C:\Documents and Settings\tts\Mes documents\Toto\TestEcnryption"
for /R %VrSource% %%b In (*.* ) Do echo %%b
echo.
pause
dubcek
Messages postés
18589
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 mars 2023
5 584
21 janv. 2011 à 14:37
21 janv. 2011 à 14:37
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 ?
dubcek
Messages postés
18589
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 mars 2023
5 584
21 janv. 2011 à 16:08
21 janv. 2011 à 16:08
pour tenir comptes des noms de fichiers contenant un ou des espaces
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
Edawards
Messages postés
17096
Date d'inscription
dimanche 25 juillet 2010
Statut
Membre
Dernière intervention
21 juillet 2020
1 974
21 janv. 2011 à 16:19
21 janv. 2011 à 16:19
Bonjour,
Voir ici peut-etre :
http://www.hotline-pc.org/batch.htm
Voir ici peut-etre :
http://www.hotline-pc.org/batch.htm
Edawards
Messages postés
17096
Date d'inscription
dimanche 25 juillet 2010
Statut
Membre
Dernière intervention
21 juillet 2020
1 974
Modifié par Edawards le 21/01/2011 à 17:31
Modifié par Edawards le 21/01/2011 à 17:31
De rien. Mettre en résolu pour aider les autres aussi.
Merci.
Merci.
Edawards
Messages postés
17096
Date d'inscription
dimanche 25 juillet 2010
Statut
Membre
Dernière intervention
21 juillet 2020
1 974
22 janv. 2011 à 00:56
22 janv. 2011 à 00:56
Merci à vous d'avoir mis le solution.
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 !
Edawards
Messages postés
17096
Date d'inscription
dimanche 25 juillet 2010
Statut
Membre
Dernière intervention
21 juillet 2020
1 974
24 janv. 2011 à 20:50
24 janv. 2011 à 20:50
Bonjour,
Allez sur le forum Bureautique sur cette page en haut dans l'onglet : liste des forums.
Allez sur le forum Bureautique sur cette page en haut dans l'onglet : liste des forums.
Edawards
Messages postés
17096
Date d'inscription
dimanche 25 juillet 2010
Statut
Membre
Dernière intervention
21 juillet 2020
1 974
26 janv. 2011 à 16:43
26 janv. 2011 à 16:43
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...
Edawards
Messages postés
17096
Date d'inscription
dimanche 25 juillet 2010
Statut
Membre
Dernière intervention
21 juillet 2020
1 974
26 janv. 2011 à 18:10
26 janv. 2011 à 18:10
cpau -k -cwd "repertoire d'execution" -u user -p password -ex test2.batCode test2.bat :
copy "bla.txt" "rep admin"
Essayez avec cela et voir.
copy "bla.txt" "rep admin"
Essayez avec cela et voir.
Pierrot6150
Messages postés
1614
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
8 janvier 2017
557
26 janv. 2011 à 19:06
26 janv. 2011 à 19:06
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.