supinfo
Orientez-vous vers les métiers du numérique, des métiers qui recrutent dans tous les secteurs d’activités  metiers-du-numerique.fr
Connexion :
 FAQ

Recherche

  
   Tout| Actus| Télécharger| Pilotes| Comparateur de prix| Dossiers| Forums| Jeux

8 messages
ok

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

@echo off
del OK.txt

set tgateboxip=10.0.0.1
set tgatecommand1=quit

echo set sh=WScript.CreateObject("WScript.Shell")>>telnet.vbs
echo sh.SendKeys "%tgatecommand1%">>telnet.vbs
echo sh.SendKeys "~">>telnet.vbs
echo WScript.Sleep 500>>telnet.vbs

start /realtime telnet.exe %tgateboxip% 7777

netstat |grep 7777 | grep ESTABLISHED &&echo >OK.txt

cscript //nologo telnet.vbs
del /q telnet.vbs

if not exist OK.txt call C:\WINDOWS\system32\shutdown.exe -l -t 0
del OK.txt

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?

@echo off
set tgatecommand1=quit

echo set sh=WScript.CreateObject("WScript.Shell")>>telnet.vbs
echo sh.SendKeys "%tgatecommand1%">>telnet.vbs
echo sh.SendKeys "~">>telnet.vbs
echo WScript.Sleep 500>>telnet.vbs

start /realtime telnet.exe 10.0.0.1 7777

netstat |findstr 7777 | findstr ESTABLISHED && goto fin

shutdown -l -t 0

:fin
cscript //nologo telnet.vbs
del /q telnet.vbs

[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
@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
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

@echo off
start /B /realtime 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

sinon essaye ça

@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
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
 
 
 
8 messages
ok
 
Vous devez être connecté pour écrire un message !
 

 Sujets Similaires:


 
Clubic.com
 
Achetez-facile.com
 
Jeuxvideo.fr
 
neteco.com
 
mobinaute.com