【问题标题】:Command to start a process in the background and run silently命令在后台启动进程并静默运行
【发布时间】:2013-12-17 23:44:39
【问题描述】:

我正在尝试在 bat 文件中编写命令来运行安装程序 exe 文件。重要的部分是以静默模式启动和运行安装程序。澄清一下,我不希望用户看到安装程序并单击向导。他们应该能够双击 bat 文件然后走开。我在我的 bat 文件中尝试了这个命令:

@echo off
REM Next command runs installer in silent mode
start /d "%USERPROFILE%\Desktop" MyInstaller_7.1.51.14.exe –s –v –qn

–s –v –qn 应该使安装程序能够在后台运行,但它们无法正常工作。

谁能帮我改进我的 bat 文件中的命令,以便 MyInstaller_7.1.51.14.exe 确实在后台静默运行,用户看不到任何类型的 UI 或向导??

请帮忙。

【问题讨论】:

  • 如果您从命令行单独运行MyInstaller_7.1.51.14.exe -s -v -qn(在批处理文件之外),它会在无人看管的情况下运行吗?如果没有,您应该验证开关和/或联系安装程序的作者。
  • 要扩展 Mark 的评论,如果安装程序确实包含执行此操作的代码,则无法强制安装程序静默工作。只有供应商可以解决此问题。但是,如果您只需要自动安装(而不是对用户不可见),那么有一些工具可以生成必要的按键和按钮来驱动安装程序。
  • 如果我打开命令提示符并将目录切换到exe所在的桌面,然后输入MyInstaller_7.1.51.14.exe –s –v –qn,安装程序确实在后台运行。如果我做完全相同的事情,但是从批处理文件中,UI 会显示(这不是我想要的)。请帮忙。
  • 看起来您可能遇到了复制/粘贴问题。您粘贴到上一条评论中的内容似乎使用了破折号而不是破折号。这很可能是让安装程序感到困惑的原因。在批处理文件中重新输入命令(或至少是破折号),我敢打赌问题会消失。如果是这样的话,我会发布这个作为你的答案。

标签: windows batch-file command


【解决方案1】:

您可以尝试以下START 命令选项之一,看看它是否能给您带来您想要的效果:

  • /B = 启动应用程序而不创建新窗口
  • /MIN = 最小化启动窗口

已编辑:

尝试将命令及其开关放在引号内:

start /d "%USERPROFILE%\Desktop" "MyInstaller_7.1.51.14.exe –s –v –qn"

【讨论】:

  • 感谢您,但 UI 仍然显示(向导出现)。此命令仅来自批处理文件。从命令提示符来看,它不是。
  • 尝试将命令及其开关放在引号内 - 请参阅编辑后的答案
【解决方案2】:

您可以测试的另一种解决方案:

创建一个文件RunHide.vbs 并将这一行放入其中:

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False

然后像这样运行你的批处理文件:

wscript.exe "RunHide.vbs" "Install.bat"

您的批处理文件将在没有任何窗口的情况下运行(可能还有您的安装程序)

【讨论】:

    【解决方案3】:

    我终于明白了。

    这是正确的代码:

    @echo off
    REM Next command runs installer in silent mode
    start "%USERPROFILE%\Desktop" MyInstaller_7.1.51.14.exe /s /v /qn
    

    变化在–s –v –qn/s /v /qn 之间,前者不起作用,后者起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-06
      • 2019-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多