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 :

Vérifier si une variable commence par . . . [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 5
    Par défaut Vérifier si une variable commence par . . .
    Bonjour à toutes et à tous,
    Je tente d'écrire un script qui cherche l'adresse ip d'une carte réseau et qui vérifie si celle-ci a une adresse A.P.I.P.A (169.254.x.x)

    Comment puis-je vérifier si ma variable commence par "169.254." ?

    Voici ce que j'ai fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for /f "tokens=2 delims=:" %%a in ('ipconfig ^|find "IPv4"') do set ipadd=%%a
    if "%ipadd:~0,8%"=="169.254." (
    echo ERROR: APIPA address found
    ) else (
    ping -n 4 %ipadd%
    )
    par contre, ca ping l'adresse même si elle commence par 169.254.

    Quelqu'un saurait-il m'expliquer comment je dois procéder?
    Merci infiniment

  2. #2
    Membre émérite Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Par défaut
    Salut,
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off & cls
    for /f "tokens=2 delims=:" %%a in ('ipconfig ^|find "IPv4"') do set ipadd=%%a
    if "%ipadd:~1,8%"=="169.254." (
    echo ERROR: APIPA address found
    ) else (
    ping -n 4 %ipadd%
    )
    pause
    exit

    Maintenant pourquoi ais-je modifié "%ipadd:~0,8%" par "%ipadd:~1,8%"?
    "%ipadd:~0,8%" = " 192.168" - "%ipadd:~1,8%" = "192.168."
    D'où l'intérêt de toujours ECHO ses variables quand on a un petit hic ^^

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 5
    Par défaut
    Merci mille fois pour l'explication !

    Et, dorénavant, je vais ECHO mes variables, ça évitera ce genre d'erreur débile.

    Encore merci

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

Discussions similaires

  1. Vérifier si une variable est divisible par 10
    Par Snigz dans le forum Général Python
    Réponses: 4
    Dernier message: 05/04/2014, 17h04
  2. Réponses: 4
    Dernier message: 25/08/2011, 08h27
  3. [SQL] Comment utiliser dans une requête une variable passée par URL
    Par foffa dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 31/08/2006, 12h27
  4. contenu d'une variable définit par une autre variable
    Par PuppeT mAsTer dans le forum Langage
    Réponses: 4
    Dernier message: 04/07/2006, 19h32
  5. Vérifier qu'une chaîne commence par
    Par BenoitDenis dans le forum Langage
    Réponses: 5
    Dernier message: 02/05/2006, 12h00

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