【问题标题】:windows command line javascriptwindows 命令行 javascript
【发布时间】:2009-03-26 15:55:31
【问题描述】:

我正在尝试通过脚本从 Windows 命令行运行 javascript

cscript //NoLogo test.js

但是,我找不到任何可用的预定义对象。我完全不知所措 - 无法让 hello world 工作:

System.print("Hello, World!")

结果为@​​987654322@

我应该以其他方式运行它吗?比如通过 .NET 运行时?

谢谢

杰夫

【问题讨论】:

    标签: javascript windows command-line


    【解决方案1】:

    您正在使用 Windows 脚本宿主。

    你可以这样说:

    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 Host

    【讨论】:

      【解决方案2】:

      如果你真的想在 shell 中运行 JavaScript,那么你应该考虑安装 Node.js

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

      【讨论】:

      • 太有趣了……这个问题在 NodeJS 还没有出现之前就被问到了。 :') 在看到日期之前,我不知道接受的答案在说什么。时代如何变化...
      【解决方案3】:

      这实际上是 JScript,当使用 cscriptwscript 运行时,它在 Windows Scripting Host 环境下,与基于 Web 的 javascript 没有真正的相似之处。

      Windows Scripting Host reference

      【讨论】:

        【解决方案4】:

        试试WScript:

        WScript.Echo('hello world');
        

        【讨论】:

          【解决方案5】:

          这是一个非常过时的线程,许多答案不完整和/或根本不起作用。在 shell 中运行 JS 的方法(不管你是否使用 windows)是使用 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
          

          【讨论】:

          • 虽然它已经很老了,而且文档也越来越少,但是在 Windows 机器上可以通过使用 WSH + JScript 编写的脚本来完成很多工作,包括编译成一个小的、可移植的可执行文件。 Node.js + NPM 有 Win32 库,可能可以完成所有相同的最终目标,但解决方案的“权重”肯定会有所不同。在撰写此评论时,仅 Windows Node.js 可执行文件就有大约 50mb。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-07-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多