Fichier batch

[Résolu/Fermé]
Signaler
-
 kent -
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...

4 réponses

Messages postés
71
Date d'inscription
samedi 27 décembre 2008
Statut
Membre
Dernière intervention
22 avril 2009
27
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
Super merci !
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 
Messages postés
71
Date d'inscription
samedi 27 décembre 2008
Statut
Membre
Dernière intervention
22 avril 2009
27
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
Alleluia merci JF !
Bon année a toi ausis !