Aide pour une novice

Fermé
arnica - 16 oct. 2008 à 22:52
 sim - 23 oct. 2008 à 00:53
Bonjour,
je viens de faire un pari avec un amis.Je dois, pour le gagner, faire apparaitre un message en boucle avec des pauses de 5 min entre chaque apparition du message. Je travaille sous windows XP. Je précise aussi que je connais pas du tout la programmation et que c'est mon premier script. Je tiens vraiment à gagner mon pari alors j'espère que vous pourrez m'aider.
MERCI

9 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 817
16 oct. 2008 à 23:02
Salut,
Tu copies ce code dans un fichier batch (avec extension .bat). Par exemple test.bat
:boucle
echo toto
sleep 300
goto boucle

Tu l'enregistres et tu double cliques dessus ;)
0
merci pour ta réponse. Comme je l'ai dis je suis je n'ai pas de connaissance dans ce domaine. Je ne sais pas ce qu'est un fichier batch. Je ne sais pas où coller "

:boucle
echo toto
sleep 300
goto boucle

je ne sais pas comment je peux modifier le texte pour le personnaliser, ni modifier la fréquence d'apparition du texte
enfin bref j'ai vraiment besoin que tu m'aides!!

merci d'avance
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 817 > arnica
17 oct. 2008 à 18:50
Tu crées un fichier texte.
Tu colles le code que je t'ai donné dans le fichier.
Ensuite tu renommes le fichier en toto.bat (le .bat est obligatoire, toto tu peux le changer si tu veux).
Et tu double cliques dessus.
SInon un peu d'explication sur le code.
Le 300 c'est pour 5 minutes (300 secondes).
"echo" c'est pour dire d'afficher le message qui suit. Par exemple echo toto.
Et voilou ;)
0
arnica > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
18 oct. 2008 à 00:13
merci pour tes explications c'est déjà plus clair. J'ai fais ce que tu m'as donné mais le programme (en .bat)se lance et il s'affiche une page noir pendant une seconde. Je n'ai pas le temps de lire ce qu'il i a d'écris!!
en tout cas je ne vois pas de toto s'afficher. est ce que ce script se répète automatiquement toutes les 5 minutes?
j'espère que je vais y arriver, ma réputation est en jeu... alors je compte sur toi
merci
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 817 > arnica
18 oct. 2008 à 00:32
dans un premier temps. Affiche 5 au lieu de 300 ;)
Et dis moi ce qui se passe.
0
BadGuitarist Messages postés 367 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 20 octobre 2013 27 > arnica
18 oct. 2008 à 00:47
Bonjour Arnica,
En XP et en Vista, la commande sleep n'existe plus.

Par contre, tu peux la remplacer par cela :

timeout /t 300

Remarque :
pour modifier ton fichier toto.bat, faire un clic-droit sur le fichier et choisir l'option Modifier du menu.

Bonne chance pour ce pari bien sympatique.
0
_citizen_ Messages postés 41 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 20 novembre 2009 3
18 oct. 2008 à 00:51
pour que sa sois encore plus beu

rajouter ceci aux début
@echo off


sa devrai donner sa

@echo off
:boucle
echo toto
timeout /t 300
goto boucle
0
merci encore pour ton aide mais ça ne marche pas!! :(

J'ai créer
@echo off
:boucle
echo toto
timeout /t 300
goto boucle

dans Word 2007. ensuite j'ai modifié l'extension en .bat comme tu m'as dit. J'ai changé les 300 secondes en 5 secondes comme tu m'as dis mais ça ne marche

quand je double clic sur le script en .bat j'ai une page en fond noir écris en blanc dessus.
c:\WINDOWS\system32\cmd.exe

j'espère que je vais réussir parce que je compte pas perdre ce pari .....
je compte sur vous!!!
merci davance
0
BadGuitarist Messages postés 367 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 20 octobre 2013 27
18 oct. 2008 à 00:55
Alors là, c'est sûr : le pari est gagné ;-)))
0
sil vous plait aidez moi j'ai limpression ke je vais perdre mon pari....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'espère que quelqu'un va pouvoir m'aider

sa me tient trop a coeur ce pari!!!
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 817
22 oct. 2008 à 20:46
Bon écoute.
On t'a aidé. On t'a dit quoi faire. Et toi tu veux qu'on t'aide. Sois constructive, et dis nous ce qui marche pas.
On n'est pas devin non plus.
0
Iams Messages postés 14 Date d'inscription dimanche 29 juin 2008 Statut Membre Dernière intervention 23 octobre 2008
22 oct. 2008 à 20:58
Ce que tu fais c simple tu colle pas dans un fichier word mais dans le presse papiers (le bloc note). Aussi non pour le crée ce que tu fais c'est démarer éxecuter aprés tu tape notepad toto. bat et là normalement ta ton fichier qui ce créer automatiquement pas de prise de tête. et pis voilas Par contre le @echo off fait que le echo ne s'affiche pas (super de dire des trucs afaire si on ne l'explique pas cf. citizen ^^).
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 130
22 oct. 2008 à 21:47
Bonsoir,

Arnica, si tu ne te bouges pas tu vas perdre ton pari !
Chez moi "timeout" ne fonctionne pas il me renvoie ce message :
'timeout' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

Je joins un fichier .bat que j'ai "taillé" à partir d'un existant. Ca tourne chez moi essaie-le :

ECHO     OFF
CLS

      ECHO LE %DATE% DEBUT DU TRAITEMENT %0 a %TIME%

:FORM_TIME

rem  Délai exprimé en heures + minutes + secondes + dixième et centièmes de s.
      SET      /A DELAY_WAIT_CENT     = 0
      SET      /A DELAY_WAIT_SEC      = 0
      SET      /A DELAY_WAIT_MN       = 05
      SET      /A DELAY_WAIT_HH       = 0

rem pour tester :
      SET      /A DELAY_WAIT_SEC      = 06
      SET      /A DELAY_WAIT_MN       = 00
      
rem  Contrôles de vraisemblance effectué sur les valeurs exprimant le délai.
      IF  %DELAY_WAIT_CENT%            GTR     99                   (
          ECHO.
          ECHO NOMBRE DE CENTIEMES DE SECONDE %DELAY_WAIT_CENT% SUPERIEURE A 99.
          GOTO                      :EOF                          )
      IF  %DELAY_WAIT_SEC%             GTR     59                   (
          ECHO.
          ECHO NOMBRE DE SECONDE %DELAY_WAIT_SEC% SUPERIEUR A 59.
          GOTO                      :EOF                          )
      IF  %DELAY_WAIT_MN%              GTR     59                   (
          ECHO.
          ECHO NOMBRE DE MINUTES %DELAY_WAIT_MN% SUPERIEUR A 59.
          GOTO                      :EOF                          )
      IF  %DELAY_WAIT_HH%              GTR     24                   (
          ECHO.
          ECHO NOMBRE D'HEURES   %DELAY_WAIT_HH% SUPERIEUR A 24.
          GOTO                      :EOF                          )

      SET      /A somme_sec           = 0

rem Translation du délai hh, mn, sec en seconde.
     SET       /A somme_sec           =  %DELAY_WAIT_HH% * 3600
     SET       /A somme_sec           =  %somme_sec%  +   %DELAY_WAIT_MN% * 60
     SET       /A somme_sec           =  %somme_sec%  +   %DELAY_WAIT_SEC%

     PING 0.0.0.0 -n %somme_sec%                     >  NUL

     ECHO  PERSONNALISE ICI TON MESSAGE    %TIME%   ===========================

GOTO FORM_TIME
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 817
22 oct. 2008 à 21:55
Et tu n'as pas la commande "sleep" non plus ??
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 130 > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
22 oct. 2008 à 22:06
Non, idem timeout.






0
Salut,

Je pense savoir pourquoi ça ne marche pas: tu n'as pas la commende "sleep".

Télécharge-là ici: http://stashbox.org/269565/sleep.exe
Ensuite: Copie-là dans "C:\WINDOWS\system32"


@echo off
:boucle
echo toto
sleep 300
goto boucle


Voila: c'est pas plus compliqué ;)
0