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 :

commande ipconfig | find [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2015
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2015
    Messages : 78
    Par défaut commande ipconfig | find
    Bonjour,

    J'avais récupéré un script d'un collègue qui permettait de faire une sauvegarde en fonction de l'adresse IP pour des commerciaux qui sont rarement au bureau.
    Le début du script ressemble à ça:
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    echo - Test Reseau
    echo - 
    cls
    ipconfig | find "Passerelle par défaut . . . . . . . : 192.9"
    cls
    rem echo %ERRORLEVEL%
    if ERRORLEVEL 1 goto nok
    if not ERRORLEVEL 1 goto ok 
     
    :nok
    color 0C
    echo -
    .....

    Il fonctionne parfaitement avec Windows XP mais pas avec Windows 7.
    Savez vous comment le faire fonctionner sur W7?

  2. #2
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 359
    Billets dans le blog
    2
    Par défaut
    Tu peux essayer ça:

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    @echo off
    setlocal enabledelayedexpansion
     
    set /a "IpCnt=0"
    for /f "delims=" %%a in ('ipconfig ^| find /i "Passerelle par défaut"') do (
      for /f "tokens=1* delims=:" %%b in ("%%a") do (
        set "Ip!IpCnt!=%%c"
        set /a "IpCnt+=1"
      )
    )
     
    if not defined Ip0 goto nok
    set /a "IpCnt-=1"
    for /l %%a in (0 1 !IpCnt!) do echo !Ip%%a!
    Le gourou dicte la ligne (de commande) à suivre ...

    Penser à lire le Tutoriel Batch ou a consulter la FAQ Batch et ses contributions,
    ainsi que le Cour sur la ligne de commande et des scripts

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2015
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2015
    Messages : 78
    Par défaut
    Ça fonctionne mais je dois avouer que je ne comprend pas grand chose au script ^^'

    Merci.

  4. #4
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 359
    Billets dans le blog
    2
    Par défaut
    Désactive le prompt

    Active l'expansion retardé des variables (pour pouvoir récupéré les valeurs modifier dans la boucle for)
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setlocal enabledelayedexpansion

    Contient le nombre de passerelles trouvé (il peut en y avoir plusieurs)

    la première boucle for récupère la sortie du pipe-line de commande ligne par ligne (ipconfig | find /i "Passerelle par défaut"), le seconde boucle for découpe le résultat de la première en deux par rapport au caractère ":" (c'est ce qui séparé la chaîne "Passerelle par défaut" et l'adresse ip). le résultat est placé dans une variable "Ip<numéro_ip>" puis le compteur d'ip est incrémenté

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for /f "delims=" %%a in ('ipconfig ^| find /i "Passerelle par défaut"') do (
      for /f "tokens=1* delims=:" %%b in ("%%a") do (
        set "Ip!IpCnt!=%%c"
        set /a "IpCnt+=1"
      )
    )

    si Ip0 n'est pas définit, aucune passerelle n'a été trouvé, saut au label nok
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    if not defined Ip0 goto nok

    Le nombre de passerelle décrémenté de 1 pour avoir le nombre exacte de passerelle puis la boucle for affiche les résultats trouvé
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set /a "IpCnt-=1"
    for /l %%a in (0 1 !IpCnt!) do echo !Ip%%a!
    Le gourou dicte la ligne (de commande) à suivre ...

    Penser à lire le Tutoriel Batch ou a consulter la FAQ Batch et ses contributions,
    ainsi que le Cour sur la ligne de commande et des scripts

  5. #5
    Membre confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2015
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2015
    Messages : 78
    Par défaut
    OK merci.

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

Discussions similaires

  1. [XL-2010] Commande VBA Find
    Par DAmiot1949 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/12/2013, 16h16
  2. Commande equivalent find sous windows powershell
    Par laoho dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 02/03/2012, 09h53
  3. commandes ls, find, grep
    Par toto753 dans le forum AIX
    Réponses: 3
    Dernier message: 03/06/2011, 15h15
  4. commande ipconfig introuvable
    Par TiBwa dans le forum Windows XP
    Réponses: 3
    Dernier message: 24/06/2010, 16h06

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