Creation fichier batch base sur excel

Résolu/Fermé
big_boss09 Messages postés 3 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 30 avril 2008 - 28 avril 2008 à 20:43
 Woodba - 27 juil. 2009 à 16:57
Bonjour,
on me demande de crée un fichier batch qui se base sur des données contenu dans fichier excel :

le classeur contient comme colonnes |poste , nom (dns) , ip ,et os (système d exploitation)|.

je dois exécuter des ping sur les adresses ip figurant dans le fichier excel et en afficher le résultat en plus des autres données du fichier excel en ce référant a l adresse ip concernée par le ping .

je sais pas par ou commencer j ai besoin d un coup de pouce
merci d avance
A voir également:

4 réponses

big_boss09 Messages postés 3 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 30 avril 2008 2
29 avril 2008 à 12:21
rebonjour,
je crois que c impossible de faire ce genre de batch alors j ai copier les données dans un fichier texte.
je dois toujours cree le batch mais en me basant sur les donnees du fichier texte,je du mal dans la declaration de variable.
si quelqu un pourrez m aider j en saurais très reconnaissant
merci d avance
1
big_boss09 Messages postés 3 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 30 avril 2008 2
30 avril 2008 à 12:02
<gras>j ai fais des petit recherche sur le net et j ai enfin resolu a resoudre mon probleme merci pour cette merveilleuse invention qui s appelle internet, alors voila :
comme j ai déjà cite il ete impossible de realiser un batch basé sur excel alors j ai copie les donnees dans un fichier texte
que j ai appele bigboss.txt les donnees y apparaissent comme suit :
pc1;bigboss.home.ma;192.168.1.10
pc2;bigboss1.home.ma;192.168.1.11
PC3;bigbossxp.home.ma;192.168.1.12

puis dans les batch j ecris
@echo off
FOR /F "tokens=1-3 delims=;" %%i IN (bigboss.txt) DO (set Ordi=%%k
set nom=%%i
echo - ping en cours %%i
call :ping %%k
)
:ping
ping %Ordi% -n 1
IF %ERRORLEVEL%==1 echo %nom% est nonok>>DISCONNECTED.txt
IF %ERRORLEVEL%==0 echo %nom% est ok>>CONNECTED.txt
j explique:
pour la ligne 1
for(pour en anglais) /f(boucle qui permet d entrer dans le fichier texte tout en selectionnant les parametres qui le constitu)
tokens (pour declarer le nombre de variable a utiliser a partir du fichier texte)
delimis (precise le caractere present entre les parametre du fichier texte)
%%i (le premier parametre du fichier texte qui designe le nom de poste (pc1.pc1;pc3))
in (bat.txt) ca ve dire chercher dans le fichier (bat.txt)
do (faire)
(set ordi=%%k mettre le parametre %%k(qui est l adresse ip) dans une variable (ordi)

set nom=%%i mettre le parametre %%i(qui le nom de poste) dans une variable (nom)
echo -ping en cours %%i (afficher ping en cours nom du poste -ex ping en cours pc1)
call :ping %%k ( appeler la commande ping sur la adresse ip ))
ping %ordi% -n 1 p(ping sur chaque adresse ip une fois puisque -n indique le nombre de ping a faire)
IF %ERRORLEVEL%==0 echo %nom% est ok>>CONNECTED.txt
IF %ERRORLEVEL%==1 echo %nom% est NOK>>DISCONNECTED.txt
Si le resultat du ping est positive il envoie le resultat dans un fichier connected.txt
Si le resultat du ping est negative il envoie le resultat dans un fichier non disconnected.txt
je l ai essayé et ça marche nickel parfait good perfect
j espere que ca va aider quelque un
1
Super Big_Boss,

T es le meilleur, merci beaucoup!
1
merci beaucoup ;)
1