FORUM Tom's Hardware » Programmation » Autre » petit programme en dos
 

petit programme en dos

Il y a 256 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : petit programme en dos
 
Plus d'informations

bonjour a tous,
 
voila, je suis nouveau et je ne connias pas grand chose en programmation (sauf pe quelque base en pascal mais bon, rien d'extraordinaire :p).  
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
 
 
ca devrait ressemble a ca plus ou moins
 
merci bcp si vous pouvez m'aider.

pourquoi faire cent fois la même chose ?
Plus d'informations

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 :
  1. :ping
  2. :: ici on ping
  3. ping -n 1 192.168.0.1 | find "TTL" > nul
  4. if errorlevel 1 goto kiki
  5. :: on attend ...
  6. choice /c:²1 /t:²,60 > nul
  7. if errorlevel 255 goto end
  8. :: lorsque on appuiye sur Ctrl+C on arrête le script, sinon on continue
  9. goto ping
  10. :kiki
  11. :: il est pas possible de lancer kiki.lnk directement et d'attendre la fin, on est obligé d'utiliser start
  12. start c:\kiki.lnk
  13. :: et on attend encore ...
  14. choice /c:²1 /t:²,300 > nul
  15. if errorlevel 255 goto end
  16. goto ping
  17. :end
  18. echo "Script Stoppé"


Message édité par Batchy le 10-09-2005 à 11:29:17
Plus d'informations

un tout grand merci ;)
 
la condition "if errorlevel 255 goto end" sert  quoi en fait?

pourquoi faire cent fois la même chose ?
Plus d'informations

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

Plus d'informations

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 :p)? 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
Plus d'informations

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.

Plus d'informations

bonjour a tous,
 
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.
 
meric ;)

zeb
Profil : Modérateur libre
Plus d'informations

Pas possible de supprimer la fenêtre DOS. :(
 
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 :)

Plus d'informations

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  
 
merci de votre aide

zeb
Profil : Modérateur libre
Plus d'informations

LOL.
 
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.

Plus d'informations

oui merci
mais j'ai deja essayer pas mal de chose mais
je ne trouve pas!!!!

Plus d'informations

merci  
j'ai trouvé
grace au forum en me promenant dessus
tres bon forum
merci


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » Autre » petit programme en dos
 

Annonces Google
Publicité