【问题标题】:How to hide command prompt windows using ExecDos command如何使用 ExecDos 命令隐藏命令提示符窗口
【发布时间】:2015-12-11 15:01:42
【问题描述】:

我想在我的脚本中执行三个 bat 文件,问题是当我直接使用 execwait 运行这些 .bat 文件时,命令窗口打开,我想隐藏这些命令窗口但它不起作用。我的代码只有 3 行。

ExecDos::exec '"catalina_start.bat"' 
ExecDos::exec '"mysql_start.bat"' 
ExecDos::exec '"apache_start.bat"'

我也尝试了这个nsExec 命令,但仍然没有解决方案:

nsExec::Exec "cmd /C catalina_start.bat"
nsExec::Exec "cmd /C mysql_start.bat"
nsExec::Exec "cmd /C apache_start.bat"

这些.bat文件的一点背景,其实这些是xampp setup的文件,xampp内部使用这些文件来启动tomcat、mysql和apache。 我面临的问题是只有第一个 bat 文件被执行,即。 e. tomcat 启动了(我可以在 xampp 控制台中看到),但是脚本没有继续前进,sql 和 apache 没有启动。

【问题讨论】:

  • 编辑标题以便人们知道上下文是 nsis 脚本
  • 正如您在nsExec 的文档中看到的那样,它不显示控制台窗口。因此,要么您的批处理文件生成带有 start ..... 的新控制台窗口,要么您在 NSIS 安装程序中遇到了错误,在这种情况下您应该联系他们的支持论坛或他们拥有的任何东西。
  • @Some1Pr0:这就是问题标签的用途。

标签: windows batch-file xampp nsis


【解决方案1】:

批处理文件是否包含pause 或其他阻止其完成的内容?

您应该从使用ExecWait '"cmd.exe" /k "$InstDir\catalina_start.bat"'(或/c)之类的东西开始,这样您就可以看到写入控制台的文本,包括任何错误。一旦它正常工作,您可以切换到隐藏控制台的 exec 插件之一...

【讨论】:

  • 嗨,我尝试了ExecWait '"cmd.exe" /k "$InstDir\catalina_start.bat"' 用于所有三个 bat 文件,但它不起作用。就像你说的bat文件没有完全执行,第一个命令窗口打开然后直到我手动关闭这个命令窗口第二个bat文件没有运行,但我希望所有三个命令窗口都保持打开状态,我也想最小化它们,我怎样才能做到这一点。请帮忙。
  • 在批处理文件末尾添加“exit”或“cls”。您还必须将 /K 更改为 /C 才能真正关闭窗口...
【解决方案2】:

您可以将命令窗口从 cmd /C catalina_start.bat 更改为 start /Min cmd /c catalina_start.bat 它会隐藏命令窗口

【讨论】:

    猜你喜欢
    • 2015-09-13
    • 2022-11-23
    • 1970-01-01
    • 2017-07-18
    • 1970-01-01
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    相关资源
    最近更新 更多