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 :

Soucis exécution commandes (ping) pour chaque lignes d'un fichier texte [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 Soucis exécution commandes (ping) pour chaque lignes d'un fichier texte
    Bonjour,
    J'ai créé un script basic qui lis un fichier texte dans lequel se trouve le nom d'ordinateurs et mon script me retourne l'adresse IP correspondante.

    Malheureusement j'ai un soucis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off
    setlocal enabledelayedexpansion
    
    for /f "tokens=* delims= " %%a in (test.txt) do (
    	for /f "delims=[] tokens=2" %%b in ('ping %%a -n 1 -w 100 -4 -l 8 /a') do (
    	echo %%a - %%b
    	)
    )
    pause
    Ceci me retourne bien: "%host% - %ip%".
    Mais si je veux faire un SET ip=%%b puis echo %ip%, plus rien ne fonctionne...

    J'ai tenté énormément de choses mais j'ne suis arrivé à un point ou j'ai besoin d'assistance ^^

    Merci pour votre aide

  2. #2
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    Un exemple de ton fichier texte, serait utile.


  3. #3
    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
    Ah désolé, euh rien de plus simple c'est:
    nompc1
    nompc2
    nompc3
    ...

  4. #4
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Ceçi doit fonctionner sans problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off&cls
    
    setlocal EnableDelayedExpansion
    
    for /f "delims=" %%a in ('type test.txt') do (
    	for /f "delims=[] tokens=2" %%b in ('ping %%a -n 1 -w 100 -4 -l 8 /a') do (
    	set $Host=%%a
            set $IP=%%b
            echo !$Host! - !$IP!
    	)
    )

  5. #5
    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
    En effet ça fonctionne très bien!

    Merci à toi, ô grand maître du Batch xD

  6. #6
    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
    Une dernière petite chose, dans ceci:
    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
    @echo off&cls
    setlocal EnableDelayedExpansion
    
    for /f "delims=" %%a in ('type test.txt') do (
    	set /a N+=1
    	set v!N!=%%a
    
    	for /f "delims=[] tokens=2" %%b in ('ping %%a -n 1 -w 100 -4 -l 8 /a') do (
    		set $Host=%%a
    		set $IP=%%b
    		if not errorlevel 1 (
    			echo !N!: !$Host! - !$IP!
    		)
    		if errorlevel 1 (
    			echo !N!: !$Host! - ETEIND
    		)
    	)
    )
    pause
    Comment faire pour que "errorlevel" (ou une méthode pour vérifier que le ping de la machine répond bien) fonctionne?

    J'ai modifié pour cet exemple "monpc2" en "monpc22" (qui n'existe pas) pour avoir un message du style "monPC22 est eteind".

    Désolé pour le multi requests

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

Discussions similaires

  1. [WD19] Créer un état pour chaque ligne d'un fichier de données
    Par Térence01 dans le forum WinDev
    Réponses: 6
    Dernier message: 28/05/2014, 10h05
  2. Concaténation d'un champ supplémentaire pour chaque ligne d'un fichier
    Par saladin443 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 27/05/2013, 12h49
  3. [Batch] Créer et utiliser 2 variables pour chaque ligne d'un fichier
    Par Marc_L dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 02/12/2011, 00h22
  4. Réponses: 5
    Dernier message: 28/10/2011, 12h17
  5. [XL-2003] exécuter une macro pour chaque ligne.
    Par visto94 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/07/2010, 13h48

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