Fichier batch

Résolu/Fermé
kent - 27 déc. 2008 à 15:09
 kent - 27 déc. 2008 à 17:24
Bonjour,
J'ai un truc que j'aimerai savoir c'est comment par exemple supprimer tt les fichiers .doc d'un répertoire ( jusque là je sais faire ) mais sauf 1 ! que l'utilisateur met en paramètre ( %1)

@echo off
echo Voulez vous supprimer tt les fichier.doc sauf celui en parametre?(crtl-C annuler)
pause

Apres je sais pas...
A voir également:

4 réponses

jfr1784 Messages postés 71 Date d'inscription samedi 27 décembre 2008 Statut Membre Dernière intervention 22 avril 2009 27
27 déc. 2008 à 15:45
Hello Kent

Un moyen très simple est de renommer l'extension du fichier que tu veux garder ( par ex. "_oc" ), supprimer tous les fichiers "*.doc" et renommer l'extension du fichier en "doc" :

ren %1.doc %1._oc
del *.doc
ren %1._oc %1.doc

et le tour est joué.

Bonne Année 2009


JF
0
Super merci !
0
autre prob,

sachant que G: est ma clef usb et que %1 est un fichier encoder par l'utilisateur
mes étiquettes ne marche pas je comprend pas pourquoi !elle s'affiche toutes quant le bat a fini de s'executer !

@echo off
IF "%1"=="" GOTO casevide
echo Voulez vous copier les fichiers?
pause
if not exist GOTO existepas
IF EXIST %1 GOTO existe
xcopy/-Y G:\%1 C:\
GOTO fin

:fin
echo transfère ok !

:existe
echo Le fichier existe déja !

:casevide
echo mauvaise synthaxe !

:existepas
echo le fichier n'existe pas !
echo on 
0
jfr1784 Messages postés 71 Date d'inscription samedi 27 décembre 2008 Statut Membre Dernière intervention 22 avril 2009 27
27 déc. 2008 à 16:51
Re-hello


Les étiquettes s'affichent parce que le reste du script est executé bien que le goto a été exécuté correctement. Pour corriger la chose, il faut soit :
a) mettre un exit après la dernière commande qui doit être exécutée
b) mettre une une étiquette "sortie" tout à la fin du script et mettre un goto sortie après la dernière commande qui doit être exécutée.

@echo off
IF "%1"=="" GOTO casevide
echo Voulez vous copier les fichiers?
pause
if not exist GOTO existepas < ----- il y a une erreur ici aussi, il faut indique ce qui n'existe pas ( %1 )
IF EXIST %1 GOTO existe
xcopy/-Y G:\%1 C:\
GOTO fin

:fin
echo transfère ok !
goto sortie ( "goto sortie" peut être remplacé par "exit" )

:existe
echo Le fichier existe déja !
goto sortie ( "goto sortie" peut être remplacé par "exit" )

:casevide
echo mauvaise synthaxe !
goto sortie ( "goto sortie" peut être remplacé par "exit" )

:existepas
echo le fichier n'existe pas !
echo on
( ici pas besoin de "goto sortie" vu qu'on est à la fin du script )
:sortie


Bonne Année 2009


JF
0
Alleluia merci JF !
Bon année a toi ausis !
0