FORUM Tom's Hardware » Programmation » Autre » [ MS-DOS ] Ouvrir une URL
 

[ MS-DOS ] Ouvrir une URL

Il y a 456 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 : [ MS-DOS ] Ouvrir une URL
 
Plus d'informations

Bonjour à tous !

Je voudrais ouvrir une page Internet à l'ouverture d'une session sous Windows XP, si l'heure est au dessus de 07h30 et moins de 08h30. Je n'y connais rien, je pense que le plus simple est de faire ceci en .bat, mais je ne sais pas du tout comment, donc je fais appel à vous :) :bounce: !

Merci d'avance,

AnCi3n :) !

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

MS-DOS ne supportait pas le reseau TCP/IP en natif, comment veut tu qu'il supporte une commande pour ouvrir une URL ? le batch (rah j'ai du mal a ecrire batch sans ecrire batchy) n'est pas la meilleure methode, mais enfin je vais te la presenter

je suppose donc que tu est sous windows 9x/nt/ME/2k/XP

il y a une commande pour obtenir la date sous windows, mais seulement pour l'afficher sur la sortie standart ...

Code :
  1. echo. | time



il faut regarder comment l'heure est sortie, si jamais elle sort de la forme ''Current time is hh:mm:ss'' (anglais)
alors le test suivant renvoie vers :lancpage si on est entre 7h30 et 8h30

Code :
  1. echo. | time | find "time is 07:3"
  2. if not errorlevel 1 goto lancpage
  3. echo. | time | find "time is 07:4"
  4. if not errorlevel 1 goto lancpage
  5. echo. | time | find "time is 07:5"
  6. if not errorlevel 1 goto lancpage
  7. echo. | time | find "time is 08:0"
  8. if not errorlevel 1 goto lancpage
  9. echo. | time | find "time is 08:1"
  10. if not errorlevel 1 goto lancpage
  11. echo. | time | find "time is 08:2"
  12. if not errorlevel 1 goto lancpage


c'est pas beau hein ? c'est ça le batchy, c'est du language de mac giver qui font des trucs qui n'aurai jamais du pouvoir faire

ensuite pour afficher une page on a le choix :
si on veut lancer une page avec le navigateur par default on utilise :

Code :
  1. start http://salut.les.mecs.fr/


sinon on peut forcer l'usage d'un navigateur en l'invoquant avec l'addresse en paramettre (attention au guillemets)

Code :
  1. "C:\Program Files\Mozilla Firefox\firefox.exe" http://salut.les.mecs.fr/


dans de nombreux cas,

Code :
  1. "programme" /?
  2. ou
  3. "programme" --help

donnera des informations sur les paramettres que l'on peut passer au programme

le programme ressemblerai donc a ça :

Code :
  1. @echo off
  2. :: verification du temps
  3. echo. | time | find "time is 07:3"
  4. if not errorlevel 1 goto lancpage
  5. echo. | time | find "time is 07:4"
  6. if not errorlevel 1 goto lancpage
  7. echo. | time | find "time is 07:5"
  8. if not errorlevel 1 goto lancpage
  9. echo. | time | find "time is 08:0"
  10. if not errorlevel 1 goto lancpage
  11. echo. | time | find "time is 08:1"
  12. if not errorlevel 1 goto lancpage
  13. echo. | time | find "time is 08:2"
  14. if not errorlevel 1 goto lancpage
  15. goto fin
  16. :lancpage
  17. :: lance la page
  18. start http://salut.les.mecs.fr/
  19. :fin

Plus d'informations

Merci beaucoup.

Mais je ne comprends pas ces lignes :

Code :
  1. echo. | time | find "time is 08:2"
  2. if not errorlevel 1 goto lancpage



Etc ... Dois-je modifier quelque chose là - dedans ?

PS : Quand je le lance ayant modifié l'URL, j'ai réussi à prendre un screenshot entre le fraction de secondes ou la fenêtre DOS s'ouvre et quand elle se ferme, je pense que j'ai tout le message, cela m'affiche :

Citation :

E:\>( carré blanc )
'( carré blanc )' n'est pas reconnu en tant que commande interne
ou externe, un programme éxecutable ou un fichier de commande.


Message édité par AnCi3n le 18-11-2005 à 19:53:13
pourquoi faire cent fois la même chose ?
Plus d'informations

en gros il y a un problème avec time : c'est que en fait il renvoie du texte qui dépend de la langue et de la version de windows,
par exemple (purement au hasard) :

Code :
  1. X:\> echo . | time
  2. L'heure courante est 21:00:12
  3. Entrez la nouvelle heure :

(on force le fait de pas changer d'heure gràce à ''echo.'')

ensuite la commande find permet de trouver les lignes qui contienne la chaine que l'on lui passe, et renvoie une valeur d'erreur à 1 si jamais elle ne trouve rien

mon but est de tester (dans ce cas) si on trouve l'une des chaines suivante :

Code :
  1. ''est 07:3"
  2. ''est 07:4"
  3. ''est 07:5"
  4. ''est 08:0"
  5. ''est 08:1"
  6. ''est 08:2"



mais le ''est'' devant présuppose que Windows soit en français et dans la bonne version, si on fait un script pour soi on regarde comment se comporte sa version de time et on fait en consequence

remarque, si on teste ces chaines la :

Code :
  1. '' 07:3"
  2. '' 07:4"
  3. '' 07:5"
  4. '' 08:0"
  5. '' 08:1"
  6. '' 08:2"

(avec un espace devant), on est à peu près sur que ça marche pour un bon nombre de windows, à tester ...

sinon pour ton carré blanc t'a utilisé quel logiciel pour entrer ton batch ?

Profil : Pointeur
Plus d'informations

a mon avis, il a copier coller et a choper les * avec :D


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

Et non KangOl lol bah j'ai pris Bloc - Notes et j'ai enregistré en .bat :) !

Mon code :

Code :
  1. @echo off
  2.    
  3.     :: Vérification de l'heure
  4.     echo. | time | find "time is 07:3"
  5.     if not errorlevel 1 goto lancement
  6.     echo. | time | find "time is 07:4"
  7.     if not errorlevel 1 goto lancement
  8.     echo. | time | find "time is 07:5"
  9.     if not errorlevel 1 goto lancement
  10.     echo. | time | find "time is 08:0"
  11.     if not errorlevel 1 goto lancement
  12.     echo. | time | find "time is 08:1"
  13.     if not errorlevel 1 goto lancement
  14.     echo. | time | find "time is 08:2"
  15.     if not errorlevel 1 goto lancement
  16.     goto Fin
  17.     :lancement
  18.     :: Lancement de la page
  19.     start http://www.ratp.info/horaires/index.php?etape=res_bustram_ssotr&ligne=323&arr=323_24_74&dir=R&libligne=IVRY-SUR-SEINE+RER+%2F+ISSY-VAL+DE+SEINE&libarr=AVENUE+ET+FORT+DE+MONTROUGE&libdir=ISSY-VAL+DE+SEINE&reseau=BUS
  20.    
  21.     :fin


Message édité par AnCi3n le 18-11-2005 à 22:12:44
pourquoi faire cent fois la même chose ?
Plus d'informations

- pas de tabulation dans un fichier bat, seulement des espaces, et encore ...

- les étiquettes ont une longueur maximale de 8 caractères, ''lancpage'' ça marche, ''lancement'' ça dépasse...

Plus d'informations

J'ai modifié, ça ne change rien ( toujours l'erreur ), mon code maintenant :

Code :
  1. @echo off
  2.    
  3. :: Vérification de l'heure
  4. echo. | time | find "time '' 07:3"
  5. if not errorlevel 1 goto lancpage
  6. echo. | time | find "time '' 07:4"
  7. if not errorlevel 1 goto lancpage
  8. echo. | time | find "time '' 07:5"
  9. if not errorlevel 1 goto lancpage
  10. echo. | time | find "time '' 08:0"
  11. if not errorlevel 1 goto lancpage
  12. echo. | time | find "time '' 08:1"
  13. if not errorlevel 1 goto lancpage
  14. echo. | time | find "time '' 08:2"
  15. if not errorlevel 1 goto lancpage
  16. goto fin
  17. :lancpage
  18. :: Lancement de la page
  19. start http://www.ratp.info/horaires/index.php?etape=res_bustram_ssotr&ligne=323&arr=323_24_74&dir=R&libligne=IVRY-SUR-SEINE+RER+%2F+''SY-VAL+DE+SEINE&libarr=AVENUE+ET+FORT+DE+MONTROUGE&libdir=''SY-VAL+DE+SEINE&reseau=BUS
  20.    
  21. :fin

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

oulà je sait pas ce que j'ai foutu avec mon post ...

essaye ça :

echo. | time | find " 07:3"
if not errorlevel 1 goto lancpage
echo. | time | find " 07:4"
if not errorlevel 1 goto lancpage
echo. | time | find " 07:5"
if not errorlevel 1 goto lancpage
echo. | time | find "time '' 08:0"
if not errorlevel 1 goto lancpage
echo. | time | find "time '' 08:1"
if not errorlevel 1 goto lancpage
echo. | time | find "time '' 08:2"
if not errorlevel 1 goto lancpage
goto fin
:lancpage
start http://www.ratp.info/horaires/index.php?etape=res_bustram_ssotr&ligne=323&arr=323_24_74&dir=R&libligne=IVRY-SUR-SEINE+RER+%2F+''SY-VAL+DE+SEINE&libarr=AVENUE+ET+FORT+DE+MONTROUGE&libdir=''SY-VAL+DE+SEINE&reseau=BUS
:fin


l'interpreteur va afficher chaque ligne qu'il execute, tu pourra trouver ou est le problème ...

sinon ton URL est un peu longue je trouve, normalement la longueur maximale d'une ligne de commande MS-DOS c'est 128 (ou 127 ?) faut esperer que Windows XP supporte plus ...


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » Autre » [ MS-DOS ] Ouvrir une URL
 

Annonces Google
Publicité