IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres Logiciels Discussion :

Commande batch


Sujet :

Autres Logiciels

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 5
    Par défaut Commande batch
    Salut!
    voila, je suis en train d'ecrire un point bat pour faire des test sur un logiciel (pour simuler en ligne de commande des actions utilisateurs) et j'ai un soucis de menu.
    Mon code:

    :init
    echo [------------------------------------------------>>c:\testsvn.log
    Date /t time /t >>c:\testsvn.log

    ECHO ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    ECHO º Confirmation des paramètres º
    ECHO ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

    Echo Nom du poste: %1
    Echo Heure d'arret demandée: %2

    echo ces informations sont elles correctes? Si oui, le batch va lancer les tests; si non, le batch va s'arreter
    choice /c: on /n (O/N)?
    IF ERRORLEVEL N GOTO Fin
    IF ERRORLEVEL O GOTO log_parametres


    :log_parametres
    echo paramètres ok >>c:\testsvn.log
    Echo Nom du poste: %1 >>c:\testsvn.log
    Echo Heure d'arret demandée: %2 >>c:\testsvn.log
    goto tests
    Mon problème est que la commande "choice" ne fait pas son travail: pas de reponse utilisateur demandée!
    sur le net, pour les menu en batch je n'ai trouvé que cette commande.
    quelqu'un en connait il une autre? ou est l'erreur dans ma syntaxe?

    merci d'avance!

  2. #2
    Membre Expert
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Par défaut
    Bonjour

    Visiblement (enfin sur mon PC en tout cas), la commande CHOICE n'existe plus sur Windows XP ...
    Si tu as un compilateur Pascal, je peux te proposer de créer ton propre CHOICE. Le code s'écrirai comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    program Choice;
    
    function Readkey: byte;
    var c: byte;
    begin
       asm
          xor ah,ah
          int 16h
          mov [c],al
       end;
       Readkey := c;
    end;
    
    begin
       Halt(Readkey);
    end.
    Ce petit programme va attendre une touche au clavier, et le code ASCII de la touche sera renvoyé en code de sortie du programme (ERRORLEVEL).

    Cela donnerait donc pour ton programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    echo ces informations sont elles correctes? Si oui, le batch va lancer les tests; si non, le batch va s'arreter
    echo (O/N) ?
    choice
    IF ERRORLEVEL 78 GOTO Fin 
    IF ERRORLEVEL 79 GOTO log_parametres 
    IF ERRORLEVEL 110 GOTO Fin 
    IF ERRORLEVEL 111 GOTO log_parametres
    Codes ASCII :
    N => 78
    O => 79
    n => 110
    o => 111

    Si tu as des soucis n'hésites pas

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 5
    Par défaut
    okkkk!
    ben... pour info, c pas que sous XP qu'elle n'existe pas!
    je suis sous windows 2000 au boulot.

    merci pr ton petit code pascal!
    le pb c que g pas de quoi le compiler ici.
    va falloir que je download ça!

    pfouh! c loin le pascal!! lol!

    merci pr le code!
    bon app.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Par défaut
    Bonjour

    Il y a une autre solution pour utiliser CHOICE : pour récupérer le niveau d'erreur, il suffit de mettre le mot clé "errorlevel" entre deux "%". Pour l'exemple :
    CHOICE /C:on Voulez-vous
    if %errorlevel%==1 goto oui
    if %errorlevel%==2 goto non

    sachant que: _%errorlevel%==0 correspond à l'interruption Crtl+C
    _%errorlevel%==1 correspond au premier choix
    _%errorlevel%==X correspond au Xème choix possible dans les options spécifiées à la commande CHOICE

    J'ai utilisé cette solution trouvée par hasard et cela marche parfaitement

    Si cela peut vous aider ^^

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5
    Par défaut
    Je me suis aperçu que la solution que je vous ai donné précédemment ne fonctionne que si vous avez le logiciel 'Power Batch' d'installer, sans quoi la fonction 'CHOICE' n'est effectivement pas reconnue comme une commande valide. donc ignorez le message précédent si vous ne possédez pas powerbatch (qui est un logiciel d'édition de batchs totalement gratuit et bien utile disponible sur le net).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2002] Ligne de Commande Batch afficher Usf Excel
    Par vaucluseimmo dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 13/01/2010, 20h13
  2. commande vb identique à une commande batch
    Par dvmbel dans le forum VBScript
    Réponses: 1
    Dernier message: 11/10/2009, 22h24
  3. Commande batch, tester la présence d'une JRE
    Par Djobird dans le forum Général Java
    Réponses: 5
    Dernier message: 21/02/2009, 10h38
  4. question commande batch
    Par hacker-master dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 21/08/2007, 12h09
  5. Réponses: 2
    Dernier message: 30/06/2006, 16h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo