Batch fonction choice

Résolu
neo-genesis Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,

voila , je m'essaie depuis peu a la programmation batch pour mon propre plaisir.
J'essaie actuellement d'exécuter une defragmentation via un batch qui propose quelque choix de décision au fur et a mesure seulement le problème c'est que ce denier ne propose pas de choix et se lance lui-même dans l'exécution...
quelqu'un aurait-il une idée?

merci d'avance.

voici le source :

echo off
@cls
@color 0a
title defragmenteur de disque
echo veuillez entrer le chemin exacte.exemple : C:\ ou E: selon le volume.
echo,

:restart

set /p per= volume a analyser/defragmenter :
@cls
defrag.exe %per% /A /V

echo voulez-vous defragmenter %per% ?
echo o : oui defragmenter!
echo n : non ne pas defragmenter!

choice /c:on faites votre choix

if %errorlevel%==1 goto o
if %errorlevel%==2 goto n

:o
defrag.exe %per% /U /X /V
echo defragmentation terminer
goto fin

:n
echo changer de volume ?

echo o :changer de volume
echo n : quitter ?

choice /c:on

if %errorlevel%==1 goto restart
if %errorlevel%==2 goto fin

:fin
pause
            
            
A voir également:

3 réponses

Utilisateur anonyme
 
Salut.


Choice n'est pas conseillé... Surtout que dans votre code, vous pouvez aisément ne pas l'utiliser.


Je ferais comme ceci :
echo voulez-vous defragmenter  ?
echo 1 : oui defragmenter!
echo 2 : non ne pas defragmenter!
echo.
set /p a=Faites votre choix
if %a%==1 goto defrag
if %a%==2 goto nodefrag
:defrag
echo test1
...etc..
0
neo-genesis Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   72
 
merci pour la réponse.
je débute tout juste en batch et je voudrais savoir pourquoi choice n'est pas conseiller? et il n'est pas conseiller dans ce cas présent ou de manière générale?
0
Utilisateur anonyme
 
Salut ;)

Car choice n'existe pas sous windows XP.
Par contre, set /p si.

@+
0
neo-genesis Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   72
 
ok merci.
0
neo-genesis Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   72
 
bon.. je reviens une nouvelle fois a la charge. La je ne comprend pas d'où viendrai l'erreur, il lance l'analyse (defrag.exe /A /V) et la consolidation (defrag.exe /U /X /V ) sans intervention de ma part.

code :

echo off
@cls
@color 0a

title defragmenteur de disque

echo veuillez entrer le chemin exacte.exemple : C:\ ou E: selon le volume.
echo,

set /p per= volume a analyser/defragmenter :

echo voulez-vous defragmenter %per% ?
echo 1 : oui analyser!
echo 2 : non ne pas defragmenter!

if %per%==1 goto defrag
if %per%==2 goto notdefrag

:defrag
defrag.exe %per% /A /V
pause

:notdefrag
goto fin

echo voulez-vous defragmenter %per% ?

echo 1 : defragmneter
echo 2 : ne pas defragmenter

if %per%==1 goto godefrag
if %per%==2 goto nodefrag

:godefrag
defrag.exe %per% /U /X /V

echo defragmentation terminer
goto fin

:nodefrag
goto fin

:fin
pause
0
Utilisateur anonyme
 
Salut ;)

echo veuillez entrer le chemin exacte.exemple : C:\ ou E: selon le volume.
echo,

set /p per= volume a analyser/defragmenter :

echo voulez-vous defragmenter %per% ?
echo 1 : oui analyser!
echo 2 : non ne pas defragmenter!

if %per%==1 goto defrag
if %per%==2 goto notdefrag

Dis moi, si je me trompe...

Mais :
%per% correspond au volume
Et ensuite, tu changes %per% en 1 ou 2

Il manque selon moi, un second set /p pour le choix (1 ou 2)

Comme ceci :
echo veuillez entrer le chemin exacte.exemple : C:\ ou E: selon le volume.
echo,

set /p per=volume a analyser/defragmenter :

echo voulez-vous defragmenter %per% ?
echo 1 : oui analyser!
echo 2 : non ne pas defragmenter!
set /p choix=Votre choix ?

if %choix%==1 goto defrag
if %choix%==2 goto notdefrag


Car %per% c'est bien le volume, il ne peut donc pas prendre ni 1 ni 2 ;)



++
0
neo-genesis Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   72
 
ha oui..en effet . dit comme ca ca parait logique x).
merci.
je vais tester ca et je te dirait.
bonne journée
0
neo-genesis Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   72
 
c'est bon c'est nikel.
merci de m'avoir aiguiller.
bonne journée
0
Utilisateur anonyme
 
@+ :)
Bonne journée.
0