windows kommandolinje javascript

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg 'm forsøger at køre javascript fra en Windows-kommandolinje via script


cscript//NoLogo test.js


Jeg kan dog ikke finde nogen foruddefinerede objekter, der er tilgængelige. Jeg er fuldstændig tabt - kan ikke hello verden til at arbejde:


System.print("Hello, World!")


resulterer i "System" is undefined


Er der en anden måde, jeg skal køre dette - ligesom gennem .NET runtime?


Tak


jeff

Bedste reference


Du bruger Windows Scripting Host.


Du kan sige ting som:


WScript.Echo("Hello, World.");


Det er alle COM-baserede, så du instantierer ActiveX-kontroller for at gøre noget nyttigt:


var y = new ActiveXObject("Scripting.Dictionary");
y.add ("a", "test");
if (y.Exists("a"))
   WScript.Echo("true");


Eller:


var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
// Get a File object to query.
f1 = fso.GetFile("c:\detlog.txt");   
// Print information.
Response.Write("File last modified: " + f1.DateLastModified);


Se Windows Script Host. [13]

Andre referencer 1


Hvis du virkelig vil køre JavaScript i en shell, så bør du overveje at installere Node.js


http://javascript.cs.lmu.edu/notes/commandlinejs/[14]

Andre referencer 2


Prøv WScript:


WScript.Echo('hello world');

Andre referencer 3


Det er faktisk JScript, og når det kører med cscript eller wscript, er det under Windows Scripting Host-miljøet, som ikke har nogen reel lighed med webbaseret javascript.


Windows Scripting Host reference [15]

Andre referencer 4


Dette er en meget forældet tråd, mange af svarene er ufuldstændige og/eller fungerer simpelthen ikke. Vejen til at køre JS i shell (uanset om du bruger Windows eller ikke), skal du bruge Node.js . Når du har installeret Node, bruger du det fra kommandolinjen, sådan:


$ node
> console.log('Hello, world');
Hello, world
undefined
> .exit


eller fra en fil:


$ cat hello.js
#!/usr/bin/node
console.log('Hello, world');

$ ./hello.js
Hello, world


Eller fra selve knudepunktet:


$ node hello.js
Hello, world