如何从HTA中启动批处理文件

时间:2013-04-24 19:44:49

标签: vbscript batch-file cmd hta

我有一个基本的HTA,我试图通过按钮启动批处理文件,但是当我尝试启动批处理文件时,它不会运行。 当我按下按钮时,命令提示符窗口将启动,但不会运行脚本。

以下是代码的简单示例:

<HTML>
  <HEAD>
    <TITLE>Fix</TITLE>
  </HEAD>
  <BODY>
    <FORM>
      <INPUT TYPE="Run" NAME="Button" VALUE="Click">

      <SCRIPT FOR="Button" EVENT="onClick" LANGUAGE="VBScript">
        Set WshShell = CreateObject("WScript.Shell")
        WshShell.Run "cmd.exe '.\example.bat'"
      </SCRIPT>

    </FORM>
  </BODY>
</HTML>

如何从与HTA相同的工作目录(或子目录)启动批处理文件?

谢谢

1 个答案:

答案 0 :(得分:6)

在任何地方启动 CMD 进程时,您需要使用 / C / K 参数作为第一个参数。

 /C     Run Command and then terminate

 /K     Run Command and then return to the CMD prompt.

尝试:

WshShell.Run "cmd.exe '/C example.bat'"

但这只是解释为什么你的脚本无法工作因为不需要使用CMD,你可以直接运行批处理文件'因为 ShellExecute