我正在尝试学习如何使用CScript.exe运行Javascript(而不是VBScript),但是当我尝试时,我收到错误:
cscript temp.js
Input Error: There is no script engine for file extension ".js".
我thought这是可能的 - 任何想法是什么问题?
答案 0 :(得分:23)
答案 1 :(得分:22)
使用regsvr32设置注册表对我不起作用。另外,我不想要它,因为我希望我的.js与纯文本编辑器链接。
但是cscript有一个命令行选项//E
来完成这项工作:
cscript //E:jscript hello.js
答案 2 :(得分:8)
值得一提的是rplantiko's solution即使有效也是如此
文件名的扩展名不是.js。这允许放入.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解释。
答案 3 :(得分:5)
.js
JSFile
扩展程序与注册表中的{{1}}无关。turns out这样做可以解决问题。
答案 4 :(得分:1)
assoc .js = JSfile ftype jsfile = C:\ Windows \ System32 \ Cscript.exe“%1”%*
答案 5 :(得分:0)
也有这个问题,我解决了......
1.-找到wsh.inf
,%windir%\inf
2.-右键点击wsh.inf
并选择 install
。
答案 6 :(得分:-1)
您应该能够运行此命令来修复错误:
regsvr32 %systemroot%\system32\vbscript.dll