【问题标题】:How to use the Windows scripting host "//E" command line argument?如何使用 Windows 脚本主机“//E”命令行参数?
【发布时间】:2011-04-18 08:42:49
【问题描述】:

我正在尝试使用 Windows 脚本主机命令行参数来运行 .js 文件。但是,每次我运行时都会收到此错误,即无论提供绝对路径或“wscript.exe”还是名称“wscript”,它都找不到脚本引擎。我必须使用“//E”选项来指定要使用的脚本引擎,以测试某些东西。

我试过 "scriptfile.js //E:C:\Windows\System32\wscript", "scriptfile.js //E :C:\Windows\System32\wscript.exe""scriptfile.js //E:wscript" 但没有任何帮助。它给了我错误 "Can't find script engine C:\Windows\System32\wscript.exe" for script scriptfile.js"

Msdn 链接不提供示例命令用法,所以它对我几乎没有用,除了它们告诉我检查拼写和脚本引擎 - http://msdn.microsoft.com/en-us/library/s39f60wz(v=vs.85).aspxhttp://msdn.microsoft.com/en-us/library/6kbz7235(v=vs.85).aspx

所以如果有人成功使用 //E 选项指定需要专门使用“wscript”脚本引擎,请告诉我。

【问题讨论】:

    标签: command-line-arguments wsh


    【解决方案1】:

    我认为 //E: 的选项是 //E:jscript//E:vbscript

    试试:

    wscript //E:jscript scriptfile.js
    

    这是我的尝试:

    你可以输入 wscript /?在命令行上查看选项。

    【讨论】:

      【解决方案2】:

      //E 参数用于指定脚本语言,而不是脚本宿主可执行文件的路径。但是,如果您使用标准文件扩展名——JScript 为 .js,VBScript 为 .vbs——Windows Script Host 将自动检测脚本语言,无需使用 //E 参数。

      //E参数的一些详细解释在这篇TechNet文章中给出:
      Running Scripts from the Command Line


      话虽如此,要运行 .js 文件,您只需使用以下命令:

      wscript C:\myscript.js
      

      这将使用脚本主机的 GUI 版本运行脚本(以便WScript.Echo 输出显示在消息框中)。 要使用脚本主机的控制台版本运行脚本(以便将WScript.Echo 输出发送到控制台),请使用以下命令:

      cscript C:\myscript.js
      

      要使用脚本宿主的默认版本运行脚本,只需在命令提示符处键入脚本名称:

      C:\myscript.js
      

      【讨论】:

      • 谢谢,现在一切都清楚了。我知道如何运行脚本和使用 wscript 和 cscript;但是,我安装的一个程序接管了我的脚本文件的默认引擎。所以为了强制我的脚本使用 jscript,我使用上面的 //E 参数。
      【解决方案3】:

      @Helen:你的说法不正确。 //E 标志用于指定可执行文件,而不是语言。

      更具体地说,它用于指定向系统注册的引擎(这意味着语言)。

      【讨论】:

        猜你喜欢
        • 2013-07-06
        • 2017-11-19
        • 1970-01-01
        • 2010-11-29
        • 2013-06-06
        • 2012-08-29
        • 1970-01-01
        • 1970-01-01
        • 2014-06-28
        相关资源
        最近更新 更多