Passage d'une variable à un fichier HTA

Signaler
Messages postés
4
Date d'inscription
lundi 6 juin 2005
Statut
Membre
Dernière intervention
9 juin 2005
-
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011
-
Bonjour, je suis débutant en la matière et je bute sur un problème.

Je désire passer une variable à un fichier hta et cela ne fonctionne pas
alors que je récupère bien la variable si le fichier à l'extention .html

voici le code du fichier html appelant le fichier hta :

[P:\Geo\geo001.hta?numser=0309726900100272 Appel fichier .hta]

et voici la partie javascript du fichier hta :
...
<script language="JavaScript" type="text/javascript">


function recup_var(){
var filename = "";
var requete = window.location.search;


if (requete) {
requete=requete.substring(1);
requete = unescape(requete);
return(requete);
}
}


document.write(recup_var());


var wshShell = new ActiveXObject("WScript.Shell");
wshShell.Run(""P:\\Geo\\geo001.bat" 000000001", 1, true);


</script>
...

Pouvez-vous m'aider SVP, merci

PS : je voudrais aussi remplacer 000000001 par la variable (une fois que je saurai la récupérer.

7 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,
pour le coup avec un .htm, ce
serait la même chose

<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>

<script type="text/javascript">
/*geo001.hta*/
function recup_var(){
var filename = "";
var requete = window.location.search;
requete=requete.substring(1);
requete = unescape(requete);
var prm=requete.split("=");
var wshShell = new ActiveXObject("WScript.Shell");
wshShell.Run("P:\\Geo\\geo001.bat "+prm[1], 1, true);


}
</script>

</HTML>




2 remarques :
_ 0309726900100272
est un paramètre que l'on passe à geo001.bat ?
c'est pour ça que je met geo001.bat xxxxx
_ pouquoi faire un .bat ?
à notre époque ?
tout ( ou presque ) peut être fait
en javascript ...
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
Messages postés
4
Date d'inscription
lundi 6 juin 2005
Statut
Membre
Dernière intervention
9 juin 2005

Merci pour ta réponse rapide Bul.
Je vais essayer ton code.

Concernant le fichier .bat, il est lancé pour récupérer dès infos sur un mini système AS400. Désormais je dois pouvoir le lancer depuis une appli web. S'il est possible de traduire ce petit batch en javascript cela m'éviterais en plus de valider manuellement l'ouverture du .hta.

Pour info voilà le batch contenu dans geo001.bat

echo recuperation infos intervention sur AS400
echo off
echo open 192.168.100.12 >p:\Geo\%1.ftp
echo put p:\Geo\%1.xml guict/%1 >>p:\Geo\%1.ftp
echo quote rcmd call guict/geo000cl parm('%1') >>p:\Geo\%1.ftp
echo get guict/%1 p:\Geo\xmlsor.xml >>p:\Geo\%1.ftp
echo quit >>p:\Geo\%1.ftp
ftp -s:p:\Geo\%1.ftp > p:\Geo\%1.log
del p:\Geo\%1.ftp
echo on
echo recuperation termine


Encore merci
Cordialement
Guict2000
Messages postés
4
Date d'inscription
lundi 6 juin 2005
Statut
Membre
Dernière intervention
9 juin 2005

Malheureusement, le script ne fonctionne pas dans un .hta mais fonctionne très bien dans un un .htm ou .html

Je ne sais pas trop quoi faire ? Si quelqu'un à une idée.
Merci
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
1°) et qu'est-ce qui ne va pas ?
chez moi, pas de problèmes !!??!!
2°) dans le .bat
_ echo ne font qu'afficher, inutiles ?
_ supprimer un fichier ( del ) =
regarder FileSystemObjet
_ lancer un exécutable ( ftp )
plusieurs solutions, en voici une :
w = new ActiveXObject("WScript.Shell");
w.run ('start "'+exe+'"'); // pour Windows 98
w.run ('cmd "'+exe+'"'); // pour Windows XP

Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
Messages postés
4
Date d'inscription
lundi 6 juin 2005
Statut
Membre
Dernière intervention
9 juin 2005

<OL>
<LI>Ce qui ne marche pas : même problème qu'avec mon code initial.
Le paramètre transmit (quelque soit la méthode) à un fichier .hta ne passe pas (il n'a pas de paramètre récupéré). Par contre si je lance le même code dans un .hmtl, le paramètre passe, mais là pas d'execution des ActiveX. J'ai même essayé avec des cookies, toujours pareil.</LI>
<LI>Dans ce batch, les echo xxxxxx >> yyyyy, font de la maj dans un fichier. Je peux donc utiliser l'ActiveX 'FileSystemeObjet'.</LI></OL>
Mais tout cela ne règle malheureusement en rien mon problème.


.hta : je ne reçois pas de paramètre et .html je ne peux utiliser d'ActiveX.

Je pense que tout ceci est lié à la sécurité et là je ne peux rien faire sans l'accord de l'administrateur de ma boîte.... (pas d'accès aux options internet de l'explorateur)

Merci encore.

GUICT2000
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
>> Le paramètre transmit à un fichier .hta
>> ne passe pas . Par contre si je
>> lance le même code dans un .hmtl,
>> le paramètre passe
il n'y a réellement aucune raison ?
faudrait voir le code tel qu'il est ?

>>.html je ne peux utiliser d'ActiveX.
si, mais message d'avertissement.
>>ceci est lié à la sécurité
peut-être ? mais ça me semble curieux.
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011

Detérage de post: solution trouvé ici:
http://www.javascriptfr.com/code.aspx?ID=40524

L'entre-aide est la force de notre savoir