Meh*_*dad 17 javascript windows wsh windows-7
我正在尝试学习如何使用CScript.exe运行Javascript(而不是VBScript),但是当我尝试时,我收到一个错误:
cscript temp.js
Input Error: There is no script engine for file extension ".js".
Run Code Online (Sandbox Code Playgroud)
我认为这是可能的 - 任何想法是什么问题?
rpl*_*iko 23
使用regsvr32设置注册表对我不起作用.另外,我不想要它,因为我希望我的.js与纯文本编辑器链接.
但是//Ecscript 有一个命令行选项可以完成这项工作:
cscript //E:jscript hello.js
Run Code Online (Sandbox Code Playgroud)
Ste*_*ack 23
一个非常简单的修复:使用assoc.
c:\>assoc .js=JSFile
Run Code Online (Sandbox Code Playgroud)
(我的某些时候已经与文本编辑器联系了.)
值得一提的是,即使文件名的扩展名不是.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(","));
Run Code Online (Sandbox Code Playgroud)
@then...... 之间的行@end是由cmd.exe解释的批处理命令.最后一个命令是goto :eof跳过文件的其余部分.后面的行@end由cscript.exe解释.
| 归档时间: |
|
| 查看次数: |
19672 次 |
| 最近记录: |