Batch DOS - Divers - Programmation
Marsh Posté le 02-01-2004 à 16:20:13
Essaye un truc plus évolué genre CSCRIPT ou WSCRIPT.
Ca te permet de faire un batch en JScript.
Marsh Posté le 02-01-2004 à 16:20:41
if fileexist "coucou.txt" goto ok
goto pasok
:ok
truc1
goto end
:pasok
truc2
:end
Marsh Posté le 02-01-2004 à 16:24:02
*syl*, comment tu fais pour que les : o ne se transforment pas en ?
Marsh Posté le 02-01-2004 à 16:26:12
Mara's dad a écrit : *syl*, comment tu fais pour que les : o ne se transforment pas en ? |
Ça fait + de 3 ans que t'es sur ce forum et tu sais pas encore comment il marche ?
Qd tu postes un message : Désactiver les smilies
Par contre si t'édites ton message tu peux pas les désactiver, joce a encore bien fait son boulot
Marsh Posté le 02-01-2004 à 16:28:33
J'ai jamais utilisé cette option
Faut dire que je met des smilies partout
Py c'est pas dispo en réponse rapide
Marsh Posté le 02-01-2004 à 16:32:38
Merci pour cette réponse si rapide !
ca a l'air de mieux fonctionner avec exist a la place de fileexist.
Sinon, ca n'a pas l'air de lire a l'interieur du fichier car quoi qu'il y ait a l'interieur, ca ne change pas l'action... a moi que ca ne vienne de mon ordi ???
Marsh Posté le 02-01-2004 à 16:35:11
yeffries a écrit : ca a l'air de mieux fonctionner avec exist a la place de fileexist. |
Wé j'ai confondu avec d'autres langages
yeffries a écrit : Sinon, ca n'a pas l'air de lire a l'interieur du fichier car quoi qu'il y ait a l'interieur, ca ne change pas l'action... a moi que ca ne vienne de mon ordi ??? |
Ça vérifie juste que ton fichier existe comme tu l'as demandé dans ton 1er post..
Marsh Posté le 02-01-2004 à 16:42:19
Pour être précis, je dirais que son premier post vérifie qu'il est possible d'OUVRIR un fichier...
Sans préciser le mode en plus
Marsh Posté le 02-01-2004 à 16:53:49
Ah pardon, je m'etais mal exprimé, je suis desolé...
En disant "en fonction du resultat", je pensais "en fonction de ce qu'il y a d'ecrit a l'interieur du fichier texte".
Et effectivement Mara's dad, mon post etait tres imprecis
Marsh Posté le 02-01-2004 à 16:56:48
Qu'est ce que tu veux faire exactement ?
Tu risques de devoir passer à qq chose d'autre que le BATCH (cf 1er post mara's dad) parce que ce dernier est très limité..
Marsh Posté le 02-01-2004 à 17:16:25
en fait, j'heberge un site web sur mon ordinateur. Ce site n'est que tres peu visité, mais je souhaite neanmoins laisser de la bande passante a ses visiteurs...
J'utilise egalement emule sur cet ordinateur.
Je souhaiterais que l'upload d'emule soit a 30Ko/s par défaut, et qu'il passe a 15Ko/s lorsqu'il y a un visiteur sur mon site, ceci marche par le biais de la fonction "exec" en php qui lance le service "bandwidth controller" qui bride mon upload a 15.
Mais lorsque le site est vide, je souhaiterais que l'upload soit retablit au max en fermant le service "bandwidth controller". En faisant une lecture (grace a un cron) toutes les minutes d'un fichier rempli automatiquement en php par le visiteur du site.
Par ex : comparer l'heure de la session visiteur (mise a jour a chaque deplacement sur le site), et l'heure actuelle du serveur. S'il y a + de 5 min d'ecart, le cron/bat doit fermer le service automatiquement.
Je ne sais pas si je suis clair dans mes explications...
Marsh Posté le 02-01-2004 à 17:17:37
Exemple de lecture de fichier :
read.js
Code :
|
A lancer dans une session DOS par :
CSCRIPT //E:jscript read.js
Le //E:jscript n'est théoriquement pas indispensable, mais c'est mieux avec ( surtout avec UltraEdit )
Marsh Posté le 02-01-2004 à 17:19:05
Heu t'es sous quel OS là ?
Marsh Posté le 02-01-2004 à 17:29:05
Merci Mara's dad, je vais essayer de regarder dans ce sens.
Sinon, je suis sous WinXP pro.
Pour mettre le script en php, j'y ai pensé, mais ca voudra dire ouverture d'une page a l'ecran toutes les minutes, a moins que je ne me trompe... car c'est un cron qui tourne en tache de fond sur mon ordi. c'etait plus simple de cacher la fenetre en le faisant par le dos.
Marsh Posté le 02-01-2004 à 17:30:04
Tu peux utiliser php.exe directement donc pas d'ouverture de browser
Marsh Posté le 02-01-2004 à 17:31:20
Heu de ce point de vue, c'est pareil PHP et CSCRIPT...
Ligne de commande :
PHP toto.php
CSCRIPT toto.js
Marsh Posté le 02-01-2004 à 17:32:15
Je ne savais pas, desolé... Je vais donc plutot essayer de faire comme ca.
Encore merci beaucoup a vous deux d'avoir eu autant de patience !
Marsh Posté le 02-01-2004 à 18:34:21
Savez-vous comment utiliser php.exe sans passer par un browser ?
Marsh Posté le 02-01-2004 à 18:35:30
yeffries a écrit : Savez-vous comment utiliser php.exe sans passer par un browser ? |
kadreg@rincevent:~$ php --help |
oui
Marsh Posté le 02-01-2004 à 18:36:51
kadreg@rincevent:~$ php -a |
Ah merde
Marsh Posté le 02-01-2004 à 22:14:18
Bon, alors tout fonctionne par scripts php, le seul probleme qui me reste est que lorsque je lance le logiciel par le script php avec la commande "exec", le logiciel se lance bien mais php attend un resultat et se fige... Comment faire en sorte que le logiciel se lance et tourne sans s'arreter, tandis que php n'attendrait pas de resultat de sa part ?
Marsh Posté le 02-01-2004 à 22:16:23
En bas ils en parlent
http://www.nexen.net/docs/php/anno [...] n.exec.php
Marsh Posté le 02-01-2004 à 22:20:02
Merci, mais malheureusement je ne vois pas trop comment je peux faire ceci: "vous devez vous assurez que le résultat de ce programme est redirigé vers un fichier ou une autre méthode d'archivage, car sinon, PHP va attendre la fin de l'exécution du programme", car le logiciel en question ne renvoie aucun resultat... Comment faire ? Si quelqu'un a une idée ? merci !
Marsh Posté le 02-01-2004 à 22:30:54
C'est vrai que c'est mal expliqué mais essaie ça pour voir :
exec("start tonprog" );
Marsh Posté le 02-01-2004 à 22:39:46
si je mets les guillemets, php se fige, si je les enleve et que je mets "exec(start(tonprog));"
ca m'ecrit => Call to undefined function: start()
Marsh Posté le 02-01-2004 à 22:45:13
Je suis bete, ca ne peut pas marcher sans guillemets de toute facon...
Marsh Posté le 02-01-2004 à 22:47:05
yeffries a écrit : si je mets les guillemets, php se fige |
Il se fige !? Normalement start rend la main, quel OS ?
yeffries a écrit : , si je les enleve et que je mets "exec(start(tonprog));" |
Forcément c'est n'importe quoi c'que t'as écris !
Marsh Posté le 02-01-2004 à 22:51:46
Oui, je débute
Pour l'OS, c'est Windows XP pro. Le programme se lance bien mais la page se fige et je suis obligé de relancer une session de mon browser pour que ca remarche...
Marsh Posté le 02-01-2004 à 22:56:01
Code :
|
http://php.us.themoes.org/manual/en/function.exec.php
Marsh Posté le 02-01-2004 à 23:19:08
Si je comprends bien, je fais appel a cette fonction en faisant ceci :
execInBackground("c : / rep_du_logiciel/", "logiciel.exe", "" );
Mais ca n'a pas l'air de marcher... Et surtout, a quoi correspond ce "bla" dans le code ci-dessus ? dois-je le remplacer ?
Les espaces dans le chemin du logiciel sont la a cause des smileys que je ne peux plus retirer
2eme edit : et puis je vais me coucher, en esperant ne pas t'avoir trop embeté, Syl, merci beaucoup !!!!!!!!
Marsh Posté le 03-01-2004 à 11:00:05
Code :
|
A quoi correspond la variable $conf a la deuxieme ligne ?
Marsh Posté le 02-01-2004 à 16:15:18
Salut !
Bon, ce n'est pas un sujet de programmation, mais je ne savais pas trop ou placer ca... Sauriez-vous comment lire le contenu d'un fichier sous DOS et faire une action en fonction du resultat de cette lecture ?
Un truc dans ce style mais en DOS =>
$test=fopen{"coucou.txt"};
if ($test==1) {
truc1
} else {
truc2
}
Merci !