在html中运行.bat

时间:2017-07-31 10:35:30

标签: javascript php html

我正在开发一个小项目,它允许在html中运行.bat,下面的编码对我有效。

<html>
<head>
</head>
<center>
<select name="menu" id="menu">
  <option>Select Printer</option>
<option value="file:\\10.50.100.212\location\run1.bat">option1</option>
<option value="file:\\10.50.100.212\location\run2.bat">option2</option>
</select>
<button id="btn">Go!</button>
</center>
<script>
var urlmenu = document.getElementById('menu');
var btn = document.getElementById("btn");

// Set up a click event handling function for the button 
btn.addEventListener("click", function() {
  // Confirmation of action for testing
  console.log("Navigating to:" + urlmenu.value);

  // Open new window with correct URL
  window.open( urlmenu.value );
});
</script>
</body>
</html>

但在上面的解决方案.bat文件用于下载,我们必须打开它才能运行脚本。

是否有可能在没有下载的情况下运行.bat,有任何关于php的建议或没有赞赏。

2 个答案:

答案 0 :(得分:0)

您无法在JS中运行任何可执行文件,因为您位于客户端沙箱中。如果服务器与客户端在同一台机器上,则可以在服务器端执行此操作。然后打开执行.bat的php端。

您必须在客户端计算机上运行PHP服务器(Apache或其他服务器)。

答案 1 :(得分:0)

您可以按照以下步骤操作。

创建服务器。

您可以使用XAMPP

编写运行批处理文件的服务。 (test.php的)

$fileName = $_GET['fileName'];
//C:\Program Files\VideoLAN\VLC\vlc.bat
exec('c:\WINDOWS\system32\cmd.exe /c START . $fileName .');

从客户端调用此服务。

function reqListener () {
  console.log(this.responseText);
}

var oReq = new XMLHttpRequest();
oReq.addEventListener("load", reqListener);
oReq.open("GET", "http://localhost:8080/test.php?fileName=C:\Program Files\VideoLAN\VLC\vlc.bat");
oReq.send();