Windows командной строки JavaScript - PullRequest
11 голосов
/ 26 марта 2009

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

cscript // NoLogo test.js

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

System.print("Hello, World!")

результат в "System" is undefined

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

Спасибо

1019 * Джеф *

Ответы [ 5 ]

17 голосов
/ 26 марта 2009

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

Вы можете сказать что-то вроде:

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

Это все на основе COM, поэтому вы создаете экземпляры элементов управления 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 .

6 голосов
/ 26 ноября 2013

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

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

4 голосов
/ 26 марта 2009

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

Справочник по Windows Scripting Host

3 голосов
/ 26 марта 2009

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

WScript.Echo('hello world');
0 голосов
/ 25 января 2018

Это очень устаревшая ветка, многие ответы неполные и / или просто не работают. Чтобы запустить 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 hello.js
Hello, world
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...