我知道这是不赞成的,但我如何通过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");
仍然没有运气。
感谢。
答案 0 :(得分:1)
你从什么样的节目开始呢?如果你有一个包含
的js文件(比如说test.js
)
WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run("test.bat");
并在命令行中使用cscript test.js
运行它,它运行test.bat(如果test.bat
与test.js
在同一目录中)。它至少在这里这样做。可能只是一个路径问题?
回复你的评论:如果cscript不是一个选项,你不能控制你运行它的机器吗?如果是这种情况,您可以尝试查看相当老式的Hypertext Terminal Application,但我不确定它是否是您所需要的。很明显,通过浏览器运行ActiveX内容是不可行的(在IE中你可以,但用户必须允许它)。
答案 1 :(得分:0)
我遇到了马克拉批处理文件最困难的时候。但是这对我来说很有用。
var objShell = new ActiveXObject(" WScript.Shell"); objShell.Run("%comspec%" +" / K CD C:\ FolderWhereIHaveMyBatch& Batchfile.bat");