Bonjour,

J'ai un fichier ip.txt qui liste des ip et le nom de l'unité associée :
xp 192.168.1.5
linux 192.168.1.4

J'ai un fichier bat qui va chercher ces ip pour les pinger :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
for /f "delims=	   tokens=2" %%a in (c:\batch\ip.txt) do ping %%a -n 2
CLS
if errorlevel 1 net send redzen L'unite %%a est tombee
Comme vous le voyez si mon ping est HS il envoie un message pour indiquer que l'unité est tombée. Le pb c'est que mon net send affiche ma variable %%a comme %a et non l'IP qui a été pingée. Ou est l'erreur?

Sinon ce qui m'intéresse de récupérer dans mon fichier ip.txt est la première colonne plutôt que la deuxième pour afficher dans mon net send. J'avais donc pensé déclarer une variable du type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
set var1="delims=	 tokens=1" in (c:\batch\ip.txt)
Je n'aurai alors plus qu'a récupérer la variable %var1% pour mon net send. Je pourrais même créer une autre variable pour pinger mes ip :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
set var2="delims=	 tokens=2" in (c:\batch\ip.txt)
J'aurai alors le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
set var1="delims=	 tokens=1" in (c:\batch\ip.txt)
set var2="delims=	 tokens=2" in (c:\batch\ip.txt)

ping %var1% -n 2
if errorlevel 1 net send redzen L'unite %var2% est tombee
Là on aurait alors quelque chose de propre et clair. Seulement vous allez me dire que ce n'est pas possible d'associer un delims/tokens à un set (peut-être que si mais je n'ai rien trouvé la dessus)... Mais ce serait tellement plus pratique. Il doit bien exister quelque chose qui s'en rapproche ?

Dernière chose : Prenons l'ex de la machine linux qui est HS => à chque fois que mon batch repassera sur la machine pour la pinger il affichera le message "l'unité linux est tombée" ce qui risque de créer une accumulation de messages très importants si la machine rest plantée plusieurs minutes. Est-il possible d'indiquer à net send de ne pas accumuler les messages s'il y en a déja un d'afficher ? => je n'ai rien trouvé dans "net send /?"

Merci de votre aide