我正在开发一个小项目,它允许在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的建议或没有赞赏。
答案 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();