voila, je suis nouveau et je ne connias pas grand chose en programmation (sauf pe quelque base en pascal mais bon, rien d'extraordinaire ). ma connection plante souvent (trop souvent a mon gout) c'est pour cela que j'essaye de faire un petit programme qui permettrait de verifier le reseau toutes les minutes (par exemple). des qu'il n'y a plus de reseau, il lance un raccourci de putty me permettant de redemarrer le serveur et relance le programme au bout de 5 minutes.
en regardan un peu sur le forum, j'ai trouve ca:
ping -n 1 192.168.0.1 | find "TTL" > NUL IF ERRORLEVEL 1 GOTO end net use "s:" "\\server\fichier"
:end exit
bon, pour moi, je dois modifier la premiere ligne pour que quand j'ai pas de reseau, il rentre dans la condition. ping -n 1 192.168.0.1 | find "TTL" < NUL
et je dois aussi modifier la ligne dans la boucle pour executer un racccourci:
c:\kiki.lnk
mais j'ai un petit probleme avec la boucle, comment je peux faire pour qu'il attende 5 minutes quand il est dans la condition et 1 minute quand il est en dehors?
le programme pourrait ressembler a ca
for n=1 to 100000 do
wait 1 minute
ping ...
si pas de ping faire:
c:\putty.lnk
wait 5 minutes
end
end
moi à chaque fois que je cherche à faire attendre en batch j'utilise toujours choice.exe, j'me souviens plus éxactement de la syntaxe mais ça doit ressembler à choice /c:²1 /t:²,60 >nul (ou 60 est le nombre de seconde à attendre), le problème c'est qu'il n'est plus fourni avec windows depuis windows 2000 : faut le piquer d'un windows 98 qui traine
en gros ma commande ça fait que l'on demande silencieusement à l'utilisateur d'appuiyer sur ² ou 1 et de prendre le choix ² si jamais l'utilisateur n'a pas choisi pendant 60 sec
chez moi ça donnerais :
Code :
:ping
:: ici on ping
ping -n 1 192.168.0.1 | find "TTL" > nul
if errorlevel 1 goto kiki
:: on attend ...
choice /c:²1 /t:²,60 > nul
if errorlevel 255 goto end
:: lorsque on appuiye sur Ctrl+C on arrête le script, sinon on continue
goto ping
:kiki
:: il est pas possible de lancer kiki.lnk directement et d'attendre la fin, on est obligé d'utiliser start
en fait Choice va attribuer un errorlevel en fonction de la touche qui à été appuiyée, si c'est la première (²), il va renvoyer un errorlevel 1, si c'est la deuxieme il va revoyer 2, ect ... et si on appuie sur Ctrl+C (rappel: généralement quand on appuie sur cette touche c'est pour fermer un programme, d'ailleurs l'action par default sous windows c'est de demander si on veut fermer) il renvoie 255
en tout cas, il marche comme je veux , un tout grand merci en tout cas super !!
est ce possible de la mettre en petit icone en bas a droite (systray si je ne me trompe pas )? je ne sasi aps trop comment faire vu qu c'est une fenetre dos. je suppose qu'il qu'il faut le compiler? si c'est ca, enfin, de toute facon je vais essayer ce soir
Message édité par pyromana le 12-09-2005 à 12:52:03
bon, j'ai reussi a compiler le petit programme, mais il y a toujorus une fenetre dos qui apparait. j'ai essaye avec un raccourci modifie, ca ne foncitonne pas.
bon, apparement, le ping fait un erreur a partir d'un certain nombres de fois que je le lance. mais apres ca continue a fonctionner.
j'ai aussi remarque que le ping de temps en temps, il ne detecte rien. et donc continue lepetit script pour redemarrer la machine. ce que j'ai fait c'est remettre un ping apres avoir attends x minute et ca fonctionne apparement.
j'aurais voulu aussi savoir comment faire pour ne pas avoir la fenetre dos qui apparait.
Mais tu peux faire un raccourci qui précise "Exécuter : fenêtre réduite". La fenêtre n'aura pas complètement disparue mais tu ne la verras plus au milieu de l'écran
bonjour a tous je vois que vous vous y connaissez du moins + que moi
voila je veus faire un .bat tout simple
lorsque je ping une addresse et qu'elle me répond je veut que le fond d'ecran de la fenetre DOS soit vert et des que cette adresse ip n'est plus accessible je veux que le fond passe en rouge ou qu cela déclenche un son
Utilise l'aide de PING, ERRORLEVEL et CMD pour apprendre à faire un seul ping, récupérer le niveau d'erreur du PING (ok,raté) et à changer la couleur du fond. Pour jouer un son, START fichier.son devrait fonctionner.