Communauté Informatique NDFR.net

Communauté Informatique NDFR.net (http://www.ndfr.net/forums/index.php)
-   Windows NT4/2000/XP Client (http://www.ndfr.net/forums/forumdisplay.php?f=51)
-   -   utiliser des fichiers.js (http://www.ndfr.net/forums/showthread.php?t=3832)

LeMoi 26-03-2004 14:41

utiliser des fichiers.js
 
Salut

Je n'arrive plus à ouvrir les fichiers .js, mm en les associant avec Microsoft windows based script host, g cette erreur :
Erreur en entrée: Il n'y a pas de moteur de script pour l'extension de fichier "
.js".

comment réparer ça ? g absolument de ce fichier .js

merci d'avance

Spycam 26-03-2004 19:17

Re: utiliser des fichiers.js
 
Quote:

Originally Posted by LeMoi
Salut

Je n'arrive plus à ouvrir les fichiers .js, mm en les associant avec Microsoft windows based script host, g cette erreur :
Erreur en entrée: Il n'y a pas de moteur de script pour l'extension de fichier "
.js".

comment réparer ça ? g absolument de ce fichier .js

merci d'avance

Ouvre les avec un navigateur internet...
Tu veux les exécuter ou les modifier ?

LeMoi 26-03-2004 20:31

Re: utiliser des fichiers.js
 
euh tu es sur de ce que tu dis ? j'ai ouvert avec IE, et il ne se passe absolument rien ...
et je veux l'exécuter, pas le modifier :)

Spycam 28-03-2004 14:01

Re: utiliser des fichiers.js
 
Il fait quoi ton .js ?
A la base il est fait pour être intégré à un site web non ?

LeMoi 28-03-2004 14:30

Re: utiliser des fichiers.js
 
pas du tout, il est fait pour être exécuté, le voila :
Code:


// Constants
var ForAppending = 8,
 ForReading = 1,
 ForWriting = 2;
// Objects
var fso = WScript.CreateObject("Scripting.FileSystemObject"),
 shell = WScript.CreateObject("WScript.Shell");
// Functions
function GetFolderFilesAsArray(path){
  var f = fso.GetFolder(path),
  fc = new Enumerator(f.files),
  s = [];
  for (; !fc.atEnd(); fc.moveNext()) s.push(path + "\\" + fso.GetFile(fc.item()).Name);
  return(s);
}
// Variables
var files = GetFolderFilesAsArray("_SOURCE"),
 folder_in = "_IN",
 folder_log = "logs",
 folder_out = "_OUT",
 folder_res = "resources",
 i,
 itm,
 itm_name,
 j,
 k,
 l,
 o,
 rcfile,
 rcstream,
 rctxt,
 reshacker = "tools/ResHack/ResHacker.exe",
 reslang = "",
 res = ["AVI", "BITMAP", "CURSORGROUP", "ICONGROUP"],
 scriptfile,
 ln;
// EXTRACT RESOURCES & GENERATE RESHACKER SCRIPTS
if (files.length) {
 if (fso.FileExists(reshacker.replace(/\//g,"\\"))) {
  WScript.StdOut.Write("EXTRACTING RESOURCES...\n\n");
  for (i=0; i<files.length; i++) {
  itm = files[i];
  if (itm) {
        o = itm.lastIndexOf("\\");
        itm_name = o >= 0 ? itm.substr(o+1) : itm;
        WScript.StdOut.Write("Extracting resources from "+itm_name+"...");
        if (fso.FolderExists(folder_res+"\\"+itm_name)) {
        fso.DeleteFile(folder_res+"\\"+itm_name+"\\*", true);
        }
        else fso.CreateFolder(folder_res+"\\"+itm_name);
        scriptfile = fso.OpenTextFile(folder_res+"\\"+itm_name+"\\script.txt", ForWriting, true);
        scriptfile.WriteLine("[FILENAMES]");
        scriptfile.WriteLine("Exe        = \""+folder_in+"\\"+itm_name+"\"");
        scriptfile.WriteLine("SaveAs = \""+folder_out+"\\"+itm_name+"\"");
        scriptfile.WriteLine("Log        = \""+folder_log+"\\"+itm_name+".log\"");
        scriptfile.WriteLine("");
        scriptfile.WriteLine("[COMMANDS]");
        for (j=0; j<res.length; j++) {
        shell.Run(reshacker+" -extract \""+itm+"\", \""+folder_res+"\\"+itm_name+"\\"+res[j]+".rc\", "+res[j]+",,"+reslang, 0, true);
        if (!fso.FileExists(rcfile = folder_res+"\\"+itm_name+"\\"+res[j]+".rc")) continue;
        rcfile = fso.GetFile(rcfile);
        if (rcfile.size > 0) {
          rcstream = rcfile.OpenAsTextStream(ForReading);
          rctxt = rcstream.ReadAll().replace(/\r/g,"\n").split("\n");
          rcstream.Close();
          for (k=0; k<rctxt.length; k++) if (ln = rctxt[k]) {
          ln=ln.split(" ");
          if (ln[1]=="ICON") ln[1]="ICONGROUP";
          else if (ln[1]=="CURSOR") ln[1]="CURSORGROUP";
          scriptfile.WriteLine("-modify \""+folder_res+"\\"+itm_name+"\\"+ln[2].split("\"").join("")+"\", "+ln[1]+","+ln[0]+","+reslang);
          }
        }
        }
        WScript.StdOut.Write("done.\n");
        scriptfile.Close();
  }
  }
  WScript.StdOut.Write("\nRESOURCES EXTRACTED.\n");
 }
 else {
  WScript.StdOut.Write("ERROR: Resource Hacker not found!\nResource Hacker needs to be in tools\\ResHack.\nNO RESOURCES EXTRACTED.\n");
 }
}
else {
 WScript.StdOut.Write("ERROR: No resources to extract.\n");
}
// EOF


Spycam 28-03-2004 14:49

Re: utiliser des fichiers.js
 
Ouvre le avec firefox et va dans la console javascript qui t'indiquera si il y a des erreurs.
Sinon, il n'y a pas moyen de télécharger un moteur de script sur le site de Microsoft ?

Samva 28-03-2004 15:17

Re: utiliser des fichiers.js
 
Avec Windows Scripting Host ou Console Scripting Host le fichier tente de s'executer, par contre je sais pas a quoi il sert ni comment l'utiliser donc il bloque un peu:
bla.js(11, 4) Erreur d'exécution Microsoft JScript: Chemin d'accès introuvable

Certainement qu'il suffit de passer quelque chose en argument.. mais je ne sais pas la...

LeMoi 28-03-2004 16:28

Re: utiliser des fichiers.js
 
c bizarre parce qu'avant il marchait !!
bon, j'essaye avec le renard de feu, on sait jamais ...

LeMoi 28-03-2004 17:00

Re: utiliser des fichiers.js
 
@Samva : ça prouve qu'il marche chez toi, car il est censé chercher le logiciel reshack, et il a pas du le trouver :)
@Spycam : c ou la console javascript ?

Spycam 28-03-2004 18:36

Re: utiliser des fichiers.js
 
Tools >> Javascript console :p

Mais ne télécharge pas Fireofx juste pour çà car je doute que cela résoudra ton problème. :D

LeMoi 28-03-2004 18:43

Re: utiliser des fichiers.js
 
bon g pas compris marchait cet outil :p, mais j'ai trouvé chez Kro$oft windows script 5.6 que je croyais avoir, je l'ai retéléchargé et installé, et cette fois ça marche :)

merci de vous être penché sur le pb :p :)

Spycam 28-03-2004 19:16

Re: utiliser des fichiers.js
 
Tu l'as trouvé où ?
Donne l'addresse, çà pourra toujour servir.

LeMoi 28-03-2004 20:11

Re: utiliser des fichiers.js
 
http://www.microsoft.com/downloads/d...DisplayLang=fr
:)

TheCric 05-10-2005 14:30

Les scripts sous Windows
 
Quote:

Originally Posted by LeMoi
pas du tout, il est fait pour être exécuté, le voila ...

Remarque sur les .js et Windows

Un fichier .js peut être executé en ligne de commande où à partir de l'explorateur Windows si Windows possède un moteur de script javascript installé et valide. Le moteur pour Windows est Microsoft® Windows® Script 5.6 et est accessible par download chez Microsoft gratuitement , [là pour Windows 2000, Windows 98, Windows ME, Windows NT], [là pour Windows 2000 et XP] et [là pour Windows 2003]et ne fonctionne que si un antivirus ou une sécurité quelconque ne le désactive pas.

On peut manipuler beaucoup de programme utilisables en lignes de commande comme resource hacker via les scripts Windows.

Javascript est utilisable, Visual basic Script aussi comme d'ailleur Perl (d'ActiveState par exemple) dans la mesure où ils sont déclarés auprès de Windows comme des Windows Script Host

Pour étudier les scripts JS dans Windows, les point de départ à regarder sont [là!] et [là! Script center repository]

exemple)
Ce qui suit est un texte à mettre dans un fichier .js. Si Windows Script 5.6 est installé, il lancera le bloc-notes.


--------------------------------
//qu pour quotes c'est à dire guillemets
WshShell=new ActiveXObject("WScript.Shell");
cmdline="notepad.exe" ;
args="toto.txt";
qu="\"";
cmdline=qu+cmdline+qu+" "+qu+args+qu;
intWindowStyle=1;
bWaitOnReturn=true;
WshShell.Run(cmdline,intWindowStyle,bWaitOnReturn);
--------------------------------

Si on remplace notepad.exe par autre chose
Il faut savoir qu' Il y a expansion automatique des variables d'environnement comme %systemroot% et ne pas oublier de doubler les \ pour chaque \ dans les chemins d'accès.


Ce qui suit est le même script mis dans un .htm
Il n'est donc à ne lancer que par Internet Explorer ou un Navigateur utilisant le moteur de IE. Firefox, Mozilla, netscape ne sachant rien faire de l'ActiveX déclaré sauf add-on additionel.

Ce script ne pourra être que lancé sur la machine locale. Ce script ne s'executera pas si vous y accédez à partir d'un serveur web ni même à partir du réseau local Microsoft ==> pas de \\maMachine\c\monscript.htm car sinon la sécurité bloque.

-------------------------------
<script language='javascript'>
WshShell=new ActiveXObject("WScript.Shell");
cmdline="notepad.exe";
args="toto.txt";
qu="\"";
cmdline=qu+cmdline+qu+" "+qu+args+qu;
intWindowStyle=1;
bWaitOnReturn=true;
WshShell.Run(cmdline,intWindowStyle,bWaitOnReturn);
</script>
-------------------------------

Un excellent site en anglais est http://cwashington.netreach.net/

TheCric
http://thecric.free.fr

Samva 05-10-2005 18:39

Euh, il est beau ton deterrage, belle explication mais bon deterrer pour ca, était-ce vraiment necessaire ?


All times are GMT +2. The time now is 04:44.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.