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 :

Perte d'une variable, directement la ligne dessous?


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 43
    Points : 19
    Points
    19
    Par défaut Perte d'une variable, directement la ligne dessous?
    Bonjour,

    Alors là je n'y comprends plus rien. Tout était presque parfait et là alors que j'arrive pour finaliser les cas....

    ex:

    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
    set MESSAGE=p330_4chs_3333 EST en service
    echo %MESSAGE%
    FOR /F "tokens=1,2* delims= " %%A in ("%MESSAGE%") DO (
    
    CALL :ETAPE001 %%A %%B %%C
    )
    
    exit /b
    :ETAPE001
    IF "%~2" == "EST" (
         echo %~1 --->C'EST OK!
         SET CHAINE=%~1
         SET MESSAGE=%~2 %~3
         echo %CHAINE% ----> champS nul !
    pause
    )
    
    exit /b
    %chaine% prend son ancienne valeur, il faut rouler le fichier deux fois pour qu'il s'affecte.

    Pouvez vous me dire comme je dois procéder pour que SET CHAINE=%~1 fonctionne svp.

    En passant je n'utilise pas les variables d'environnement SETLOCAL et je ne dois pas m'en servir.

    Bonne journée!

  2. #2
    Membre averti

    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Décembre 2003
    Messages
    333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 333
    Points : 382
    Points
    382
    Billets dans le blog
    1
    Par défaut
    Pour commencer, pas de goto/call dans un for pour eviter les ennuis, si tu veux l'équivalent de %~1, utilise set a=!a:"=!. ensuite, utiliser les variables expansée avec setlocal pour avoir une résolution correcte des variables.

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 43
    Points : 19
    Points
    19
    Par défaut
    Y-a-t'il d'autres suggestions?

    Je ne doit pas utiliser les SETLOCAL (je les ai deja utilisés et j'ai dû m'en départir)

    à moins que l'on puisse les utiliser temporairement au milieu d'un script. (ENABLE//DISABLE)

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 43
    Points : 19
    Points
    19
    Par défaut
    Je ne comprends pas que la valeur s'affiche dans un ECHO mais que dans le SET ça ne fonctionne pas.... les deux lignes sont une dessous l'autre.... C'est !très! ennuyeux!

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 43
    Points : 19
    Points
    19
    Par défaut
    Bon, j'y suis ENFIN! parvenu par moi même

    dans la boucle for , j'ai 5 tokens...

    Je fais Et ensuite je fais référence àet ça passe comme il faut... p-e utiliser des " " s'il y a des espaces
    et
    Pour ensuite les enlever.

    Ah oui et ce sans les SETLOCAL...

    Des heures de bizouillages inutiles selon moi, mais enfin. Il faut ce qui faut pour avoir un résultat PARFAIT

    Merci et bye!


  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 43
    Points : 19
    Points
    19
    Par défaut
    Hé! Rebonjour, je rescuscite le thread étant donné qu'Elle me suscite toujours quelques ennuies.

    JOHN.FENDER: as-tu une idée comment aller chercher les '!!!!' dans une string avec ta technique du ?

    car si !VAR! n'a deja pas les '!!!' je vois pas comment elle l'aura plus.

    Toujours sans utiliser les SETLOCAL.

Discussions similaires

  1. [DOM] Déclarer une variable sur plusieurs lignes
    Par fgallnii dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 28/10/2008, 15h32
  2. [Validation] Perte d'une variable sur erreur
    Par kindjal dans le forum Struts 2
    Réponses: 2
    Dernier message: 13/02/2008, 12h04
  3. [AJAX] perte d'une variable
    Par AsQuel dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/05/2007, 09h24
  4. Réponses: 3
    Dernier message: 27/11/2006, 14h16
  5. Perte d'une variable de session
    Par gregal dans le forum Langage
    Réponses: 2
    Dernier message: 17/03/2006, 08h35

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