Incrementation de variable DOS

Boboss51 -  
 Maze -
Salut,

Comment faire pour faire une tempo dans un Batch
j'ai essayer de faire une boucle avec incrementation de variable, la définition de la varible fonctionne mais l'incrementation ne fonctionne pas.
Voila mon batch :

SET tempo = 0
:debut
if tempo==10000 goto fin
%tempo%==%tempo%++1
goto debut
:fin

j'ai essayé avec ou sans % avec %%, y'a rien qui marche, ni avec les = et + non doublés

Merci

5 réponses

  1. wit
     
    Pour que le script puisse prendre en compte la nouvelle valeur de la variable il faut faire appel à l'expansion retardée et au lieu d'apeller la variable par %compteur%, il faut l'apeller par !compteur!
    par exemple :
    setlocal enabledelayedexpansion
    set compteur=1
    for %%f in (*) do (
    set /A compteur+=1
    set compteur
    echo compteur : !compteur!
    )
    endlocal

    Pour plus de renseignement, consulter :
    www.microsoft.com

    dans une fenêtre de commande : set /?
    9
    1. Maze
       
      Merci d'avoir mis du temps pour la communauté. Bon courage Ami.
      0
  2. landaro
     
    En console dos sous windows 2000, pour faire une incrementation de variable , il faut utiliser le parametre /A, sans quoi, il prends l'opération pour une chaine de caractere :

    set test=1
    set /A test=%test%+1
    set test

    tu peux vérifier les options de set avec

    set /?
    4
  3. pierre
     
    Salut

    ouai suis un peu en retard mais sa peut toujours servir que quelqu'un poste la solution au problème original !

    désolé de dire sa mais ton code est plein de petites fautes qui font que sa ne risque pas de marcher !

    voila en reprenant ton exemple le code qui marche !

    @echo off
    color a

    set tempo=0
    :debut
    if %tempo% == 10000 goto fin
    set /a tempo=%tempo%+1
    goto debut
    :fin

    echo sa marche ! =)
    pause>nul

    Et voila pour tout ceux a qui sa pourrai servir !

    PS ----> le sujet était la temporisation en batch alors pour ceux qui veulent ...

    @echo off
    color a

    ping localhost -n 10>nul

    echo sa marche ! =)
    pause>nul

    !!! OU 10 EST (environ) LE NOMBRE DE SECONDE DE TEMPORISATION !

    Thanks !
    4
  4. milord
     
    slt sais tu comment je peu bloquer le compteur totale de pieces
    2
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut.

    Je suis pas trop sur, mais je crois qu'il te faut utiliser la commande "shift".

    Fais un tour sur: http://www.namani.net/
    Il y a des explications sur les commandes DOS, et sur les batchs.

    JP
    -1