Оконная строка командной строки javascript

Я пытаюсь запустить javascript из командной строки Windows через script

cscript//NoLogo test.js

Однако я не могу найти какие-либо предопределенные объекты, которые доступны. Я полностью в растерянности - Не могу получить привет мир:

System.print("Hello, World!")

приводит к "System" is undefined

Есть ли другой способ, которым я должен работать - как через .NET runtime?

Спасибо

Джеф

Ответ 1

Вы используете Windows Scripting Host.

Вы можете сказать такие вещи, как:

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

Все COM-based, поэтому вы создаете элементы управления ActiveX, чтобы сделать что-нибудь полезное:

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

Или:

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);

См. Windows Script Host.

Ответ 2

Если вы действительно хотите запустить JavaScript в оболочке, вам следует рассмотреть возможность установки Node.js

http://javascript.cs.lmu.edu/notes/commandlinejs/

Ответ 3

Попробуйте WScript:

WScript.Echo('hello world');

Ответ 4

Это на самом деле JScript, и при запуске с cscript или wscript он находится под средой Windows Scripting Host, которая не имеет реального сходства с веб-javascript.

Ссылка на сценарий Windows Scripting

Ответ 5

Это очень устаревшая тема, многие ответы неполны и/или просто не работают. Способ запуска JS в оболочке (независимо от того, используете ли вы окна или нет), заключается в использовании Node.js. После того, как вы установили Node, вы используете его из командной строки, например:

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

или из файла:

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

$ ./hello.js
Hello, world

Или из самого node:

$ node hello.js
Hello, world