Lancer un .bat

Résolu
cs_nita2006 Messages postés 89 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 12 août 2008 - 1 juil. 2008 à 08:57
cs_nita2006 Messages postés 89 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 12 août 2008 - 3 juil. 2008 à 12:35
Bonjour ,

je voudrai savoir si c est possible de lancer un batch a partir d'un bouton d'une page web ??

je m'explique, en fait j'ai un forumlaire avce deux bouton qui normalement sont sensés piguer deux serveurs

et je veux q'une fois je clique sur le preimer bouton me lance mon .bat que j'ai deja crée .

merci de m'aider :)

40 réponses

cs_nita2006 Messages postés 89 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 12 août 2008
2 juil. 2008 à 16:31
Ok , dans ce cas la tu me recommande koi pour mon cas
je m'explique :
j'ai crée un formulaire avec trois boutons que chacun permet de lancer des .bat , avce des radios OUI ou NON qui signe si le serveur marche ou pas (en fait j ai trois serveur)
donc apres avoir piguer tous les serveurs je valide mon formulaire (les infos OUI ou NON sont stockées dasn ma bdd)
donc du moment que je peux pas voir mon script lancé , je fais comment pour savoir si mon serveur fonctionne sans que le resultat soit affiché dans la page web (ca fait moche)
Merci
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
2 juil. 2008 à 16:57
Dans mon précédent exemple j'affichais le script uniquement à titre d'exemple. Au lieu d'afficher ce qui est généré dans le fichier ping.txt, il suffit de rechercher dedans la ligne "perdus = 0"

Cdt
0
cs_nita2006 Messages postés 89 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 12 août 2008
3 juil. 2008 à 09:27
Oui j'avais bien compris ca , mais mon souci c'est comment savoir à partir d'un lien de ma page web si le serveur fonctionne .
autrement dit , je vais pas executer le .bat à part , faut qu'il y ait un moyen de l'executer à parti de ma page , et c'est ca le probeleme :s que je rencontre
0
cs_nita2006 Messages postés 89 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 12 août 2008
3 juil. 2008 à 09:34
J'ai trouvé sur le net la fonction php exec() permettant d'executer des programmes exterieurs , mais je vois pas trop comment l'utiliser , et si c'est dans mon cas la qu'il faut l'utiliser !!
Merci
0

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

Posez votre question
cs_nita2006 Messages postés 89 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 12 août 2008
3 juil. 2008 à 09:39
j'ai trouvé un exemple qui marché pour quelqu'un mais pas moi
en fait j ai mis a partir de ma page accueil le lien SERVEUR1 en lien avce la page essai.php qui contient le code suivant :
<?php exec ('D:\xampp\htdocs\dsi\web2p.bat');
?>
et quand le clique sur mon lien SERVEUR1 , ca met un ti ^peu de temps oui me mene vers la page essai.php qui est vide , donc y a pas message d'erreur
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
3 juil. 2008 à 09:43
C'est normal que la page essi.php soit vide puisque tu lance juste l'execution d'un script et que tu n'affiche rien.
0
cs_nita2006 Messages postés 89 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 12 août 2008
3 juil. 2008 à 10:05
Oui oui :d des fois je deconne , en fait j'ai trouvé une solution mais qui n est pas trop pratique .
a partir de mon lien serveur1 qui pointe vers 'appelweb2.php' qui contient le code suivant

Voir le fichier .txt sur le dossier exe dans la racine
<?php exec ('D:\xampp\htdocs\dsi\exe\web2p.bat');?>

mon web2p.bat contient le code :

ping -n 5 web2p > D:\xampp\htdocs\dsi\exe\web2p.txt

donc une fois le technicien clique sur le lien il est dirigé directement vers la page appelweb2.php , ou il trouve le texte suivant : Voir le fichier .txt sur le dossier exe dans la racine
donc il est oblligé d'aller sur le dossier ou se trouve le fichier texte l'ouvrir et verifier si le serveur fonctionne (perte=0....)
c'est un peu lourd mais je vois pas autrment pour le faire
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
3 juil. 2008 à 10:24
tu peux très bien faire quelque chose du genre.
web2p.bat :
ping -n 5 web2p > D:\xampp\htdocs\dsi\exe\web2p.txt
appelweb2.php
<?php
exec ('D:\xampp\htdocs\dsi\exe\web2p.bat'); // on execute le script, création du fichier texte avec le résultat de la
commande
$filename = "D:\xampp\htdocs\dsi\exe\web2p.txt"

$f = fopen($filename, "r"); // ouverture du fichier
$content = fread($f, filesize($filename)); // on met le contenu du fichier dans contentif (strpos($content, "perdu 0") false) { // on cherche dans le fichier la presence de "perdu = 0"
    echo "Le serveur web2p ne repond pas";
}
else {
    echo "Le serveur web2p est démarré";
}
fclose($f); // fermeture du fichier
unlink($filename); // suppression du fichier.
?>
0
cs_nita2006 Messages postés 89 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 12 août 2008
3 juil. 2008 à 10:42
Oui j 'ai fais ce que tu m'as filé la mais ya une erreur a la ligne 4 (ouverture du fichier)
l'erreur est : Parse error: syntax error, unexpected T_VARIABLE in D:\xampp\htdocs\dsi\exe\appelweb2p.php on line 4
en fait pour cette ligneif (strpos($content, "perdu 0") false) { c est bien trois signes = qu'il faut mettre !????

merci pour ton aide :)
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
3 juil. 2008 à 10:47
C'est a cause de la ligne $filename = "D:\xampp\htdocs\dsi\exe\web2p.txt" il faut mettre un point virgule à la fin.
$filename = "D:\xampp\htdocs\dsi\exe\web2p.txt";
0
cs_nita2006 Messages postés 89 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 12 août 2008
3 juil. 2008 à 10:55
la encore c est pire ,

Warning: fopen(D:
mpp\htdocs\dsi\exe\web2p.txt) [function.fopen]: failed to open stream: Invalid argument in D:\xampp\htdocs\dsi\exe\appelweb2p.php on line 4

Warning: filesize() [function.filesize]: stat failed for D:
mpp\htdocs\dsi\exe\web2p.txt in D:\xampp\htdocs\dsi\exe\appelweb2p.php on line 5

Warning: fread(): supplied argument is not a valid stream resource in D:\xampp\htdocs\dsi\exe\appelweb2p.php on line 5

Le serveur web2p ne repond pas
Warning: fclose(): supplied argument is not a valid stream resource in D:\xampp\htdocs\dsi\exe\appelweb2p.php on line 12

Warning: unlink(D:
mpp\htdocs\dsi\exe\web2p.txt) [function.unlink]: Invalid argument in D:\xampp\htdocs\dsi\exe\appelweb2p.php on line 13

:(
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
3 juil. 2008 à 11:05
Toutes mes excuses il faut mettre des simples quote
$filename = 'D:\xampp\htdocs\dsi\exe\web2p.txt';
ou alors doubles les \
$filename = "D:\\xampp\\htdocs\\dsi\\exe\\web2p.txt";
0
cs_nita2006 Messages postés 89 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 12 août 2008
3 juil. 2008 à 11:18
oui c'était les quotes .
mais y a toujours un petit prob , le message qu'il m'affiche c est le serveur ne repond pas .
j'ai enlevé le unlink juste question de verifier si y a perdu=0 dans mon fichier texte , il y est .
dans mon .bat j'ai modifié le nom de serveur (jai mis nimporte quel nom) , il ma crée le fichier txt disant que le nom de serveur erroné , donc c est normal qu'il sorte le message .
mais a ce que je pense qu'il parcout pas le else ??
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
3 juil. 2008 à 11:27
Il faut vérifier le teste strpos, car le texte que j'ai mis n'est peut être pas forcément le bon. C'est peut-être perdus = 0.
0
cs_nita2006 Messages postés 89 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 12 août 2008
3 juil. 2008 à 11:35
olalalaaa ce que je suis bete :s , j'ai pas fais gaff , je te remercie .
derniere question stp , je veux que ce message soit affcihée dans une pop up , j'ai essayé avce le _self mais c'est carrement une nouvelle page qu'il me sort .
sinn je poste ce prob sur un autre thème si c'est pas ton truc :d
merci bcp
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
3 juil. 2008 à 11:45
C'est un peu ma faute dans le code que je t'ai passé, je avais mis "perdu = 0" :(
Pour ta popup
dans le head
<SCRIPT LANGUAGE="JavaScript">

<!—

function affichage_popup(nom_de_la_page, nom_interne_de_la_fenetre)

{

window.open (nom_de_la_page, nom_interne_de_la_fenetre, config='height=100,
width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no,
location=no, directories=no, status=no')

}

-->

</SCRIPT>
Dans le body :
[javascript:affichage_popup(TON SCRIPT.php','popup_1'); TON MESSAGE]

Attention tout de même les popups ne sont pas une super solution car elle sont souvent bloqués par les navigateurs.

Cdt
0
cs_nita2006 Messages postés 89 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 12 août 2008
3 juil. 2008 à 11:57
Ah oui t'as raison , ca va pas le faire .
et si je fais un message  windows ?
ca marche avce php ?
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
3 juil. 2008 à 12:05
Moi ce que je ferais c'est que sur ta page ou tu a le lien "tester le serveur", je remplacera ce morceau de page, par le script qui fait le test de ping, pour remplacer le lien "tester le serveur web2p" par "serveur web2p ACTIF" ou serveur web2p INACTIF".
0
cs_nita2006 Messages postés 89 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 12 août 2008
3 juil. 2008 à 12:18
en fait j'ai pas fais finalement un lien , c'est un bouton que j'ai mis pour chauqe serveur vu que j'en ai trois
mais bon c'est pas grave je mettrai mon resultat sur une nouvelle page .
une qeustion , est ce que cest possible de mettre un <form> à l'interieur d'un autre <form>
??
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
3 juil. 2008 à 12:20
a priori oui.
0
Rejoignez-nous