Passage d'une variable à un fichier HTA

guict2000 Messages postés 4 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 9 juin 2005 - 7 juin 2005 à 12:01
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011 - 17 nov. 2007 à 13:21
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

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
7 juin 2005 à 15:22
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]~
0
guict2000 Messages postés 4 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 9 juin 2005
7 juin 2005 à 16:47
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
0
guict2000 Messages postés 4 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 9 juin 2005
8 juin 2005 à 10:08
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
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
8 juin 2005 à 12:54
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]~
0

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

Posez votre question
guict2000 Messages postés 4 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 9 juin 2005
9 juin 2005 à 08:41
<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
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
9 juin 2005 à 09:23
>> 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]~
0
David78390 Messages postés 197 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 10 juillet 2011
17 nov. 2007 à 13:21
Detérage de post: solution trouvé ici:
http://www.javascriptfr.com/code.aspx?ID=40524

L'entre-aide est la force de notre savoir
0
Rejoignez-nous