2009-03-26 42 views
11

Tôi đang cố gắng để chạy javascript từ một dòng lệnh cửa sổ thông qua kịch bảncửa sổ dòng lệnh javascript

cscript // nologo test.js

Tuy nhiên, tôi không thể tìm thấy bất kỳ đối tượng được xác định trước đó là có sẵn. Tôi hoàn toàn thua lỗ - có thể không nhận được hello world để làm việc:

System.print("Hello, World!")

kết quả trong "System" is undefined

Có một cách khác tôi nên chạy này - như qua thời gian chạy .NET?

Cảm ơn

jeff

Trả lời

17

Bạn đang sử dụng Windows Scripting Host.

Bạn có thể nói những câu như:

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

Đó là tất cả COM-based, vì vậy bạn nhanh chóng điều khiển ActiveX để làm bất cứ điều gì hữu ích:

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

Hoặc:

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

Xem Windows Script Host.

3

Hãy thử WScript:

WScript.Echo('hello world'); 
3

Đó thực sự là JScript và khi chạy với cscript hoặc wscript, nó nằm trong môi trường Windows Scripting Host, không có sự tương đồng thực sự với javascript dựa trên web.

Windows Scripting Host reference

6

Nếu bạn thực sự muốn chạy JavaScript trong một vỏ, sau đó bạn nên xem xét cài đặt Node.js

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

+0

Thật buồn cười. .. câu hỏi này đã được hỏi trước khi NodeJS thậm chí còn là một điều. : ') Không biết câu trả lời được chấp nhận là gì cho đến khi tôi nhìn thấy ngày tháng. Thời gian thay đổi ... – Alhadis

0

Đây là một chủ đề rất lạc hậu, nhiều câu trả lời không đầy đủ và/hoặc đơn giản là không hoạt động. Cách chạy JS trong shell (bất kể bạn đang sử dụng windows hay không), là sử dụng Node.js. Sau khi bạn đã cài đặt Node, bạn sử dụng nó từ dòng lệnh, như thế này:

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

hoặc từ một tập tin:

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

$ ./hello.js 
Hello, world 

Hoặc từ nút chính nó:

$ node hello.js 
Hello, world 
Các vấn đề liên quan