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 !
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 :
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 :
echo. | time | find "time is 07:3"
if not errorlevel 1 goto lancpage
echo. | time | find "time is 07:4"
if not errorlevel 1 goto lancpage
echo. | time | find "time is 07:5"
if not errorlevel 1 goto lancpage
echo. | time | find "time is 08:0"
if not errorlevel 1 goto lancpage
echo. | time | find "time is 08:1"
if not errorlevel 1 goto lancpage
echo. | time | find "time is 08:2"
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 :
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)
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.
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 :
X:\> echo . | time
L'heure courante est 21:00:12
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 :
''est 07:3"
''est 07:4"
''est 07:5"
''est 08:0"
''est 08:1"
''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 :
'' 07:3"
'' 07:4"
'' 07:5"
'' 08:0"
'' 08:1"
'' 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 ?
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 ...