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

Scripts/Batch Discussion :

execution avec une condition


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut execution avec une condition
    bonjour a tous,
    j'ai un petit probleme pour l'exécution de mon batch,
    en effet,je demande a l'utilisateur de donner un nombre de jours,heures et minutes puis l'ordinateur attend (grâce à sleep)

    cette suite de commande marche parfaitement mais lorsque je lma couple avec une condition (le if verif==2) elle ne marche plus....
    Pourtant j'entre bien dans la condition puisque la suite de commande est executée.
    Il me dit juste qu'il lui "manque un opérande."

    Je ne trouve vraiment pas mon erreur et je me fierai a vos conseils avisé ^^


    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
    17
    18
    19
    20
    21
    if "%verif%"=="2" (
    rem condition verifiée
    echo.
    echo /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
    echo                                     QUAND?
    echo \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
    
    echo  Dans combien de temps?
    
    EditV32 -p "JOUR: " J
    echo.
    EditV32 -p "HEURE: " H
    echo.
    EditV32 -p "MINUTE: " M
    
    echo.
    pause
    set /a seconde = %J%*60*60*24+%H%*60*60+%M%*60
    echo  il sera donc fait dans %seconde%
    sleep %seconde%
    echo  c'est fait
    Merci d'avance

  2. #2
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    Salut,

    J'ai quelques remarques à faire:

    - vous utiliser EDITV32 c'est bien mais un SET /P fait bien l'affaire aussi, surtout si tu n'utilises pas les commutateurs avancés de EDITV32 dans ton script..

    - la variable %verif% ?! n'est pas déclarer dans le bout de code

    - si tu veux vérifier l'errorlevel EDITV32 /?

    en tout cas ton script fonctionne chez moi:

    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
    @echo off
    echo  Dans combien de temps?
    
    EditV32 -p "JOUR: " J
    echo.
    EditV32 -p "HEURE: " H
    echo.
    EditV32 -p "MINUTE: " M
    
    echo.
    pause
    set /a seconde = %J%*60*60*24+%H%*60*60+%M%*60
    echo  il sera donc fait dans %seconde%
    sleep %seconde%
    echo  c'est fait

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut
    merci pour ces conseils avisés,
    -en fait j'utilise editv32 car dans mon programme je l'ai utilisé pour le masque de saisie donc par copié coller je suis arrive a le laisse
    -%verif% vaut bien 2 car la suite du programme (apres kla demande de date) marche (et elle est dans la même condition) c'est pour cela que je n'ai pas écrit le test
    -comment fait on pour renvoyer le code d'erreur?

    Encore merci
    PS:SET /P ne résoud pas le problème qui reste identique

  4. #4
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    désolé j'ai pas compris, peut tu reformuler ta question, si tu veux vérifier uniquement le code d'erreur retourner par EditV32 tu peux t'inspirer de ce bout de script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    set "MDP=hello" 
    
    editv32 -MP "entrez votre mot de passe: " PSW
    
    if %ERRORLEVEL% == 4 echo vous avez appuyer sur Ctrl-C
    if %ERRORLEVEL% == 2 echo vous devez entrez un mot de passe
    if %ERRORLEVEL% == 0 (
       If "%PSW%" == "%MDP%" (
          echo ******* [%PSW%] ********
    ) else (
          echo mot de passe Invalide [%PSW%] 
    ) 
    )
    par contre pas besoin de EditV32 un simple Vbs combiner à du batch fera l'affaire pour la saisie de mot de passe: voici un petit exemple

Discussions similaires

  1. Problème avec une condition
    Par ghan77 dans le forum Débuter
    Réponses: 2
    Dernier message: 16/12/2005, 16h18
  2. Réponses: 3
    Dernier message: 24/10/2005, 13h47
  3. Problème de requête avec une condition IN
    Par sorcer1 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 20/10/2005, 11h56
  4. envoyer submit avec une condition !
    Par delphinote dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 01/07/2005, 15h52
  5. [System][EXEC] Probleme d'execution avec une commande parametrée.
    Par chicorico dans le forum Général Java
    Réponses: 15
    Dernier message: 20/05/2005, 15h07

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