如何通过javascript运行批处理脚本?

时间:2010-12-09 16:16:39

标签: javascript

我知道这是不赞成的,但我如何通过javascript运行批处理文件?我尝试了三件事:

1)

var oShell = new ActiveXObject("Shell.Application");
oShell.ShellExecute("test.bat", "","", "open", "1");

2)

document.location.href='test.bat';

3)

WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run("test.bat");

仍然没有运气。

感谢。

2 个答案:

答案 0 :(得分:1)

你从什么样的节目开始呢?如果你有一个包含

的js文件(比如说test.js
WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run("test.bat");

并在命令行中使用cscript test.js运行它,它运行test.bat(如果test.battest.js在同一目录中)。它至少在这里这样做。可能只是一个路径问题?

回复你的评论:如果cscript不是一个选项,你不能控制你运行它的机器吗?如果是这种情况,您可以尝试查看相当老式的Hypertext Terminal Application,但我不确定它是否是您所需要的。很明显,通过浏览器运行ActiveX内容是不可行的(在IE中你可以,但用户必须允许它)。

答案 1 :(得分:0)

我遇到了马克拉批处理文件最困难的时候。但是这对我来说很有用。

var objShell = new ActiveXObject(" WScript.Shell");  objShell.Run("%comspec%" +" / K CD C:\ FolderWhereIHaveMyBatch& Batchfile.bat");