Javascript 从HTML页面调用.bat脚本

Javascript 从HTML页面调用.bat脚本,javascript,html,batch-file,spritebatch,Javascript,Html,Batch File,Spritebatch,我已经编写了一个客户将在Windows Server上安装的软件,并为安装指南编写了一个HTML页面。如何在HTML页面上创建一个链接,以管理员身份调用我的.bat脚本。.bat脚本将为客户处理安装。HTML页面将作为文件运行,即没有任何服务器(包括本地主机)。.bat脚本、html页面和二进制文件将位于同一文件夹中。文件夹可以在Windows服务器上的任何位置(我不知道客户将把文件夹放在哪里)。实现这一点的一种方法是结合使用AJAX和脚本 我将假设在本例中使用jQuery和PHP(因为它们非常

我已经编写了一个客户将在Windows Server上安装的软件,并为安装指南编写了一个HTML页面。如何在HTML页面上创建一个链接,以管理员身份调用我的.bat脚本。.bat脚本将为客户处理安装。HTML页面将作为文件运行,即没有任何服务器(包括本地主机)。.bat脚本、html页面和二进制文件将位于同一文件夹中。文件夹可以在Windows服务器上的任何位置(我不知道客户将把文件夹放在哪里)。

实现这一点的一种方法是结合使用AJAX和脚本

我将假设在本例中使用jQuery和PHP(因为它们非常常见)

jQuery只是让它变得更短,而且这个功能在大多数/所有语言中都可用

假设您有这样一个页面:

<html>
<body>
  <a id="foo" href="#">Install</a>
  <script src="install.js"></script>
</body>
</html>
$("#foo").on("click", function(){
  $.post('install.php');
});
在install.php文件中,可以有以下内容:

<?php
  exec("mybatch.bat");

internet explorer中的

file://mydirectory/myfolder/mybatchfile.bat
大多数浏览器不允许使用此功能,因为它会给网页上的链接带来巨大的安全风险,使其能够运行本地文件。它们中的大多数都有禁用该安全功能的扩展。 然而,即使发生这种情况,.bat运行也会像下载一样进行。浏览器将“下载”该.bat文件,然后为用户提供保存或运行该文件的机会。除非批处理文件在文件本身内执行管理提升,否则用户必须以管理员身份手动运行它

请记住,这些保障措施的存在是有原因的,绕过它们不是一个好主意。然而,归根结底,没有办法让浏览器自己执行这些代码。(谢天谢地!)有更好的方法来完成这类任务


如果你想提供更多关于你正在努力完成的事情的细节,我相信我们可以想出一个更安全的方法来做你想做的事情

他说NTML页面没有后端服务器。用户双击打开的只是一个静态html文档。如果不发现大量浏览器漏洞,仅从html运行.bat文件基本上是不可能的。我试着给他一些选择。如果他需要在没有后端的情况下进行软件安装,他必须编写一个合适的安装程序。
file://mydirectory/myfolder/mybatchfile.bat