2011-04-18 118 views
1

我正在尝试使用Windows脚本宿主命令行argumet来运行.js文件。但是,每次运行时,我都会得到这个错误,即无论提供绝对路径还是“wscript.exe”或只是名称“wscript”,都无法找到脚本引擎。我必须使用“// E”选项来指定要使用的脚本引擎来测试某些内容。如何使用Windows脚本主机“// E”命令行参数?

我试图“scriptfile.js // E:C:\ WINDOWS \ SYSTEM32 \ WScript的”“scriptfile.js //E:C:\Windows\System32\wscript.exe”“scriptfile.js // E:wscript”但没有什么帮助。它给我的错误“无法找到脚本引擎C:\ WINDOWS \ SYSTEM32 \ WScript.exe的”脚本scriptfile.js”

:资源下载链接并不提供样本命令的用法,因此几乎没有任何用处对我来说,除了他们通知我检查拼写和脚本引擎 - 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的”脚本引擎需要具体使用,请请让我知道

回答

2

我认为// E:的选项是// E:jscript// E:VBScript中

尝试:

wscript //E:jscript scriptfile.js 

,这里是我的尝试: enter image description here

您可以键入WScript的/?在命令行上查看选项。

enter image description here

1

//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 
+0

谢谢,现在很清楚。我知道如何运行脚本并使用wscript和cscript;但是我安装的一个程序接管了我的脚本文件的默认引擎。所以为了强制我的脚本使用jscript,我使用上面的// E参数。 – aeon 2011-04-19 02:21:56

0

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

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