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 :

script bat pour obtenir adresses IP à partir liste de noms de PC [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2015
    Messages : 13
    Points : 17
    Points
    17
    Par défaut script bat pour obtenir adresses IP à partir liste de noms de PC
    Bonjour,
    à partir d'une liste de PC style :
    poste1
    poste2
    poste3
    poste4


    3 cas se présentent
    le poste répond sur le réseau : mettre dans le fichier , nom du pc, ok, adresse IP
    le poste ne répond pas et il a une adresse IP , mettre dans le fichier, nom du pc, ko, adresse IP
    le poste ne répond et n'a pas d'adresse IP , mettre dans le fichier, nom du pc, ko, pas d'ip

    j'aimerai obtenir dans un fichier
    poste1 ping ok 10.10.10.10
    poste2 ko 10.10.10.11
    poste3 ko pas d'IP
    poste4 ok 10.10.10.15



    J'ai le script ci-dessous qui met dans fichier , nom du pc , ok/ko

    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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    @echo off
     
    rem parametrage de l'endroit ou se trouve la liste des pc
    set nomPC=listePC.txt
     
    rem parametrage du fichier de resultat
    set result=resultping.txt
     
    rem purge du fichier résultat
     If exist %result% Del %result%
     
    Setlocal EnableDelayedExpansion
     
    rem  ping avec option -n 1 pour ne pinguer qu'une fois
     
    for /f "delims=" %%i in (%nomPC%) do    (  
    ping %%i -n 1 | FIND "TTL=" > nul
    if errorlevel 1 ( echo %%i ko >> %result%
    ) else (
    echo %%i ok >> %result%
    )
    )
    endlocal
     
    pause

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Merci de mettre correctement les balises de codes

    Puisque tu a ouvert un post pour ton problème, voici une proposition.

    Code batch : 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
    20
    21
    22
    23
    @echo off
     
    set nomPC=listePC.txt
    set result=resultping.txt
     
    If exist %result% Del %result%
     
    Setlocal EnableDelayedExpansion
     
    for /f "delims=" %%a in (%nomPC%) do (
    set status=KO
    set ip=pas d'IP
     
    for /f "delims=[] tokens=1,2,3" %%b in ('ping "%%a" -n 1 -4') do (
    IF NOT "%%b"=="" echo "%%b"|FIND "TTL=">nul 2>nul&&set status=OK
    IF NOT "%%c"=="" set ip=%%c
    )
     
    echo %%a !status! !IP! >> %result%
    )
    endlocal
     
    pause

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2015
    Messages : 13
    Points : 17
    Points
    17
    Par défaut export résultat ping sur liste pc dans fichier csv
    bonjour,

    la solution proposée fonctionne

    j'ai modifié légèrement le .bat pour que le fichier résultat puisse être ouvert dans Excel directement en faisant double clique sur le nom du fichier qui contient les résultats


    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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    @echo off
     
    set nomPC=listePC.txt
    set result=resultping.csv
     
    If exist %result% Del %result%
     
    Setlocal EnableDelayedExpansion
     
    for /f "delims=" %%a in (%nomPC%) do (
    										set status=KO
    										set ip=pas_d'IP
     
    										for /f "delims=[] tokens=1,2,3" %%b in ('ping "%%a" -n 1 -4') do (
    																									IF NOT "%%b"=="" echo "%%b"|FIND "TTL=">nul 2>nul&&set status=OK
    																									IF NOT "%%c"=="" set ip=%%c
    																									)
     
    									echo %%a ; !status! ; !IP! >> %result%
    									)
    endlocal
     
    pause

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/08/2010, 21h58
  2. Réponses: 8
    Dernier message: 22/03/2010, 11h54
  3. GetProperty pour obtenir une collection à partir d'un COM
    Par laurent_diep dans le forum ASP.NET
    Réponses: 4
    Dernier message: 25/03/2008, 16h24
  4. script .bat pour connection et mise a jour
    Par hterrolle dans le forum SQL
    Réponses: 3
    Dernier message: 22/11/2007, 16h48
  5. Script .bat pour lancer ou non une application
    Par alex_m94 dans le forum Windows Serveur
    Réponses: 7
    Dernier message: 02/07/2007, 11h01

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