用CScript运行Javascript?

我试图学习如何使用CScript.exe运行Javascript(而不是VBScript),但是当我尝试时,我得到一个错误:

cscript temp.js Input Error: There is no script engine for file extension ".js". 

我认为这是可能的 – 任何想法有什么不对?

Solutions Collecting From Web of "用CScript运行Javascript?"

一个非常简单的修复:使用assoc 。

 c:\>assoc .js=JSFile 

(我的某个时候已经和一个文本编辑器关联了。)

使用regsvr32设置注册表不起作用。 此外,我不想要它,因为我想我的.js与纯文本编辑器链接。

但是有一个命令行选项//E for cscript它使工作:

 cscript //E:jscript hello.js 

事实证明 , .js扩展名与注册表中的JSFile没有关联。 这样做解决了这个问题。

值得一提的是,即使文件扩展名不是.js, rplantiko的解决方案也能正常工作。 这允许将.js代码放入.cmd文件并作为批处理运行,形成一个完全便携的单一文件解决方案,而不需要预先步骤(如assoc )。

例如,如果使用以下内容创建test.cmd文件,只需在资源管理器中单击该文件,或者通过将其他文件拖放到其图标上即可运行该文件:

 @if (@CodeSection == @Batch) @then @cscript //Nologo //E:jscript "%~f0" "test arg" %* & pause & goto :eof @end WScript.Echo("hello world"); for (var i = 0, n = WScript.Arguments.Length, args = []; i < n; ++i) args.push(WScript.Arguments(i)); WScript.Echo("arguments: " + args.join(",")); 

@then@end之间的行是由cmd.exe解释的批处理命令。 最后一个命令是goto :eof跳过文件的其余部分。 @end之后的行由cscript.exe解释。

assoc .js = JSfile ftype jsfile = C:\ Windows \ System32 \ Cscript.exe“%1”%*

有这个问题,我也解决了…

1.找到wsh.inf ,这是windows脚本主机在%windir%\inf的安装文件

2.-右键单击wsh.inf并选择install

你应该可以运行这个命令来解决这个错误:

regsvr32 %systemroot%\system32\vbscript.dll