如何使用Javascript复制

时间:2016-03-19 17:17:11

标签: javascript batch-file

在我当前的项目中,我想使用JavaScript使用按钮点击事件运行.bat或.exe文件。批处理文件的内容如下所示:

start "S:\" TemperatureSensor.exe

单击TemperatureSensor按钮时启动TemperatureSensor.exe文件。 HTML页面的代码如下所示:

<!DOCTYPE html>
<html>
<body>

<p>Click the button to make a BUTTON element with text.</p>

<button onclick="window.open('file:///S:/Test.bat')">Temperature Sensor</button>

</body>
</html>

当我点击温度传感器按钮时,它应该运行Test.bat文件,但它只显示在新页面中:

enter image description here

我错过了吗?是否可以使用按钮单击事件运行.exe文件?

更新 HTML页面的代码如下所示:

<!DOCTYPE html>
<html>
<body>

<p>Click the button to make a BUTTON element with text.</p>

<button onclick="myFunction()">Temperature Sensor</button>

<script>
function myFunction() {
      var oShell = new ActiveXObject("Shell.Application");

var commandtoRun = "C:\\TemperatureSensor.exe";
if (inputparms != "") {
var commandParms = document.Form1.filename.value;
 }

 // Invoke the execute method.  
 oShell.ShellExecute(commandtoRun, commandParms, "", "open", "1");
 }
 </script>

 </body>
 </html>

当我点击温度传感器按钮时,它会显示错误:未捕获的ReferenceError:未定义ActiveXObject

2 个答案:

答案 0 :(得分:11)

只需将此代码保存为 RunExe.hta ,而不是 RunExe.html ,然后双击执行在它!

<html>
<head>
<title>Run Exe or Bat files from HTA by Hackoo</title>
<HTA:APPLICATION
  APPLICATIONNAME="Run Exe or Bat files from HTA by Hackoo"
  ID="MyHTMLapplication"
  VERSION="1.0"/>
</head>
<script>
function RunExe(){
    var shell = new ActiveXObject("WScript.Shell");
    var path = '"S:/Test.bat"';
    shell.run(path,1,false);
}
</script>
<input style="width: 170px; height:23px; color: white; background-color: #203040; 
font-family:Book Antiqua;" type="button" Value="Temperature Sensor" onClick="RunExe();"
</html>

答案 1 :(得分:1)

如果您使用的是Firefox,则可以使用此addon打开批处理文件或exe文件。

由于安全限制,默认情况下,exe和批处理文件无法在浏览器中打开。

在插件的更高版本中,将有exe文件的启用首选项,默认情况下将禁用这些文件。

但目前您可以创建<a href="file://c:/test.bat">test</a>之类的链接,然后点击启动该文件。