Forum Clubic

Création d un batch comportant un telnet


@echo off
telnet 10.0.0.1 7777 && goto fin
call C:\WINDOWS\system32\shutdown.exe -l -t 0
:fin
exit

voila a la base ce batch avais pour but de vérifier si une application qui doit se lancer sur un serveur de ip 10.0.0.1 et utilisant le port 7777
c bien lancer. m le hic c ke apres le telnet 10.0.0.1 7777 le batch ne passe pa o goto fin

si kelkun peut éclairer ma lanterne parceque je patoge

Pas étonnant : ton telnet doit être bloquant, donc il reste sur le telnet .

j’ai peut-être trouvé une bidouille qui va sans doute paraître assez crade aux pro :ane: mais qui semble fonctionner

Il te faudra grep.exe que tu peux télécharger ICI

En gros j’ai repompé un script vbs sur le net qui permet d’automatiser la connexion en telnet
ensuite a l’aide de la commande netstat et de grep je vérifie que la connexion au port 7777 est active
si elle l’est ça crée un fichier OK.txt
si le fichier OK.txt n’existe pas alors l’ordinateur s’éteint. Si il existe il ne se passe rien et le fichier OK.txt est supprimé.

Au début du script j’ai une ligne qui supprime un éventuel fichier OK.txt au cas ou un petit malin le rajouterait manuellement :paf:

Je suis conscient que c’est très moche :o

[edit] En fonction de ton serveur qui tourne sur le port 7777 je ne sais pas si la commande “quit” va fonctionner en telnet. :neutre:
Edité le 24/10/2007 à 20:26

une version un peu plus propre?

[edit] J’ai remplacé la commande grep.exe par une commande qui fonctionne nativement sous windows findstr.exe Donc tu n’as plus besoin de télécharger quoi que ce soit pour faire fonctionner ce script
Edité le 25/10/2007 à 02:18

Ben en fait je viens d’y penser mais y’a même pas besoin de vbs pour ce que tu veux faire finalement puisque ta connexion telnet te sert juste à vérifier que ton serveur est joignable
On peut donc simplifier le script

Edité le 25/10/2007 à 03:17

Zarathoustra jai un pb d ke s excute le code sa plante mon pc la tu tester
@echo off
start /B /realtime telnet.exe 10.0.0.1 7777

netstat |findstr 7777.*ESTABLISHED && goto fin
shutdown -l -t 0

:fin
taskkill /F /IM telnet.exe

oui je l’ai testé mais avec une autre commande que shutdown pour pas arrêter mon pc à chaque fois!
essaye ça j’ai rajouté un “temporisateur” peut-être que le script va trop vite pour ton PC

sinon essaye ça

Edité le 25/10/2007 à 17:57

@echo off
start telnet.exe 10.0.0.1 7777

netstat |findstr 7777.*ESTABLISHED && ping -n 5 127.0.0.1 > NUL 2>&1 && goto fin
shutdown -l -t 0

:fin
taskkill /F /IM telnet.exe

c le bon script merci encore a Zarathoustra t trop fort man