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

Baj*_*jan 3 vbscript cmd batch-file 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>
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Ele*_*ios 7

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

 /C     Run Command and then terminate

 /K     Run Command and then return to the CMD prompt.
Run Code Online (Sandbox Code Playgroud)

尝试:

WshShell.Run "cmd.exe '/C example.bat'"
Run Code Online (Sandbox Code Playgroud)

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