Lancer un .bat

Résolu
Signaler
Messages postés
89
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008
-
Messages postés
89
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008
-
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 :)
A voir également:

40 réponses

Messages postés
89
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008

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
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
25
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
Messages postés
89
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008

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
Messages postés
89
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008

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
Messages postés
89
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008

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
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
25
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.
Messages postés
89
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008

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
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
25
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.
?>
Messages postés
89
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008

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 :)
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
25
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";
Messages postés
89
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008

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

:(
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
25
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";
Messages postés
89
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008

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 ??
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
25
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.
Messages postés
89
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008

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
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
25
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
Messages postés
89
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008

Ah oui t'as raison , ca va pas le faire .
et si je fais un message  windows ?
ca marche avce php ?
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
25
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".
Messages postés
89
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
12 août 2008

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>
??
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
25
a priori oui.