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 :

Affichage d'une variable sur plusieurs digits [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Par défaut Affichage d'une variable sur plusieurs digits
    Bonjour,

    Je voudrais afficher en batch une variable sur plusieurs digits:

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set var=1
    echo %var%
    m'affiche
    et je voudrais obtenir .


    Merci de votre aide.

  2. #2
    Membre Expert Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Par défaut
    Je ne crois pas que ce soit possible directement
    Une solution est d'ajouter les quatre 0 devant et de tronquer ensuite à 4 caractères.

    Ce que tu peux généraliser avec une fonction du type (il y a certainement plus simple) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @echo off
    setlocal enabledelayedexpansion
    
    call :printVal 4 1
    
    goto :EOF
    
    :printVal
    for /L %%i in (1,1,%1) do set zero=0!zero!
    set var=%zero%%2
    set var=!var:~-%1!
    echo %var%
    goto :EOF
    Le premier argument de :printVal est le nombre de digit et le second le chiffre à afficher.
    Attention dans cette version si tu fais :printVal 2 1000 ta valeur 1000 sera tronquée, pour éviter cela il faut ajouter un test dans :printVal.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Par défaut
    Je suis habitué aux scripts bash avec lesquels un simple printf %04d aurait suffit, mais en en batch ça devient toujours une grosse bidouille.

    En tous cas merci pour ton aide, ça répond pleinement à ma question.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Par défaut
    Je ne vois pas à quoi sert la ligne suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setlocal enabledelayedexpansion

  5. #5
    Membre Expert Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Par défaut
    A activer les expansions retardées de variables pour pouvoir utiliser les !variable! au lieu de %variable%

    Ici deux usages, la boucle qui construit les 0 (utilisation classique des !!) et la substitution avec le %1 (utilisation moins classique)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Par défaut
    Merci.

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

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. [Conception] Affichage d'une requete sur plusieurs tables
    Par djinko dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/04/2007, 14h43
  3. récupérer une variable sur plusieurs page
    Par mademoizel dans le forum ASP
    Réponses: 21
    Dernier message: 12/03/2007, 16h48
  4. Garder le nom d'une variable sur plusieurs pages
    Par leloup84 dans le forum Langage
    Réponses: 2
    Dernier message: 25/10/2006, 14h21
  5. Utilisation d'une variable sur plusieurs unités
    Par Yamaneko dans le forum Langage
    Réponses: 2
    Dernier message: 05/06/2003, 11h23

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