[Batch] choix d'instruction

choix d'instruction [Batch] - Shell/Batch - Programmation

Marsh Posté le 25-02-2004 à 15:46:09    

bonjour
 
je voudrais creer une petit programme qui fonctionnerait ainsi :
un message demande quel format on veut choisir (mp3 ou aac par exemple). ensuite je tape 'MP3' ou 'AAC' et il lance la ligne de commadne correspondante.
je voudrais juste savoir comment prendre en compte ce que tape l'utilisateur pour appliquer une commande differente
 
serait il egalement possible de mettre des "sous menus", comme par exemple si je prends le mp3, j'ai acces au vbr, abr, cbr, qui sont des lignes differentes ?
 
 
merci


---------------
feedback
Reply

Marsh Posté le 25-02-2004 à 15:46:09   

Reply

Marsh Posté le 25-02-2004 à 15:55:41    

@ECHO off
cls
:start
set /p choice=Format ?
if '%choice%'=='mp3' goto mp3
if '%choice%'=='aac' goto aac
ECHO "%choice%" invalide
goto start
:mp3
ECHO mp3
goto end
:aac
ECHO aac
goto end
:end

Reply

Marsh Posté le 25-02-2004 à 16:05:34    

merci
 
le 'set /p choice=Format ?' il sert a quoi ?
c'est possible d'ensuite creer des sous parties ou pas ?
 


---------------
feedback
Reply

Marsh Posté le 25-02-2004 à 16:09:00    

ca a l'air un peu complique non ? parce si ca donne ca juste pour 2 formats, j'en ai au minimum 5 a traiter...


---------------
feedback
Reply

Marsh Posté le 25-02-2004 à 16:26:59    

Compliqué ?
Y a autant d'étiquette de branchement que de choix, une juste derrière pour les réponses non prévues, et la sortie quand traîté pour pas faire l'action qui suit sur la ligne juste après.
 
Dans la section :mp3, rien n'empêche de recommencer la demande (avec liste des choix). Idem pour chacune.
 
Une fois lancé, ça se voit plus, la complexité.

Reply

Marsh Posté le 25-02-2004 à 16:46:51    

par ex pour le mp3, en gardant l'aac en l'etat, ca donne
 

Code :
  1. @ECHO off
  2. cls
  3. :start
  4. set /p choice=Format ?
  5. if '%choice%'=='mp3' goto mp3
  6. if '%choice%'=='aac' goto aac
  7. ECHO "%choice%" invalide
  8. goto start
  9. :mp3
  10. if '%choice%'=='abr' goto abr
  11. if '%choice%'=='vbr' goto vbr
  12. ECHO "%choice%" invalide
  13. ECHO abr
  14. (ligne de commande abr)
  15. ECHO vbr
  16. (ligne de commande vbr)
  17. goto end
  18. :aac
  19. ECHO aac
  20. goto end
  21. :end


??
je suis perdu


---------------
feedback
Reply

Marsh Posté le 25-02-2004 à 16:52:27    

set /p choice=Format ?  
<==>
set /p <nom_de_ta_variable> = <chaine a afficher>
 
autrement dis,
a chaque fois que tu veux poser une question tu mets
set /p choice=Format ?
 
quand je vois :  
if '%choice%'=='abr' goto abr  
    if '%choice%'=='vbr' goto vbr  
 
a l'execution si choice= abr il ne sera jamais egale = vbr


Message édité par djobidjoba le 25-02-2004 à 16:53:49
Reply

Marsh Posté le 25-02-2004 à 16:56:53    

@ECHO off  
cls  
:start  
set /p choice=Format ?   <-- la c ce qui va etre affiche ?
if '%choice%'=='mp3' goto mp3  
if '%choice%'=='aac' goto aac  
ECHO "%choice%" invalide  
goto start  
:mp3  
set /p choice=Options ?
if '%choice%'=='abr' goto abr  
if '%choice%'=='vbr' goto vbr  
ECHO "%choice%" invalide  
:abr  
echo abr
(ligne de commande abr)  
goto end
:vbr  
echo vbr
(ligne de commande vbr)  
goto end
 
c'est + juste la ?
merci de ton aide !
[..]


---------------
feedback
Reply

Marsh Posté le 25-02-2004 à 17:01:10    

oui je crois que c nikel
par contre fé pas gaff a mon ancien poste j'me suis planté

Reply

Marsh Posté le 25-02-2004 à 17:02:57    

oui j'ai cru comprendre
bon j'essaye (deja avec le mp3) et je reviens si jme plante
 
en attendant encore merci !!


---------------
feedback
Reply

Marsh Posté le 25-02-2004 à 17:02:57   

Reply

Marsh Posté le 25-02-2004 à 17:04:16    

euh deja je lance sans mettre d'options, il me sort 'le fichier specifie est introuvable' :(
normalement ca devrait marcher au moins pour choisir le format non ?
edit : ptet le set /p choice=XX qui deconne non ?


Message édité par _probleme_ le 25-02-2004 à 17:05:39

---------------
feedback
Reply

Marsh Posté le 25-02-2004 à 17:09:30    

t'as laissé "(ligne de commande abr) " tel quel ?
copi/colle le script


Message édité par djobidjoba le 25-02-2004 à 17:09:42
Reply

Marsh Posté le 25-02-2004 à 17:13:32    

oui, mais bon, si il arrive pas encore jusque la...
script (j'ai encore plein de trucs a ajouter, mais c'est deja le debut pour comprendre le principe):

@ECHO off    
cls    
:start    
set /p choice=Format ?   <-- la c ce qui va etre affiche ?  
if '%choice%'=='mp3' goto mp3    
if '%choice%'=='aac' goto aac    
ECHO "%choice%" invalide    
goto start    
:mp3    
set /p choice=Options ?  
if '%choice%'=='abr' goto abr  
if '%choice%'=='vbr' goto vbr    
ECHO "%choice%" invalide  
:abr  
echo abr  
(ligne de commande abr)  
goto end  
:vbr  
echo vbr  
(ligne de commande vbr)  
goto end  
:end


---------------
feedback
Reply

Marsh Posté le 25-02-2004 à 17:26:24    

chez moi c  ok ??
 
Format ? mp3
Options ?  abr
abr
'ligne' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
 

Reply

Marsh Posté le 25-02-2004 à 17:30:56    

j'ai modifie en  

@ECHO off    
cls    
:start    
set /p choice=Format ?   <-- la c ce qui va etre affiche ?  
if '%choice%'=='mp3' goto mp3    
if '%choice%'=='aac' goto aac    
ECHO "%choice%" invalide    
goto start    
:mp3    
set /p choice=Options ?  
if '%choice%'=='abr' goto abr  
if '%choice%'=='vbr' goto vbr    
ECHO "%choice%" invalide  
:abr  
echo abr  
cd ressources
lame --abr 128 ..\Muse-Musclemuseum.wav ..\Muse-Musclemuseum.mp3
goto end  
:vbr  
echo vbr  
cd ressources
lame -h -V 6 ..\Muse-Musclemuseum.wav ..\Muse-Musclemuseum.mp3
goto end  
:end


et ca marche toujours pas !


---------------
feedback
Reply

Marsh Posté le 25-02-2004 à 17:34:50    

oh le con, j'ai laisse ma remarque (<-- ....) c'est pour ca que ca deconnait !
ca a l'air de marcher ! :D
je teste


---------------
feedback
Reply

Marsh Posté le 25-02-2004 à 17:38:56    

bon c nickel :sol:


---------------
feedback
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed