3

我有一个基本的 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 相同的工作目录(或子目录)启动批处理文件?

谢谢

4

1 回答 1

8

在任何地方启动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

于 2013-04-24T20:35:55.663 回答