【问题标题】:How to hide cmd prompt while executing .bat?执行.bat时如何隐藏cmd提示?
【发布时间】:2019-09-12 10:42:19
【问题描述】:

我有一个基本的 MSI 安装程序。在这个安装程序中,我添加了一个在 .bat 文件上执行的先决条件。但是,当执行此先决条件时,.bat 文件会通过 cmd 提示符启动,并且对最终用户可见。我想隐藏它的 cmd 提示符。我怎样才能做到这一点?有什么方法可以将任何类型的参数传递给 .bat 文件,或者我们可以在 .bat 文件中添加任何参数以静默执行吗?

这是当前的批处理文件内容:

@echo off
c:\Windows\sysnative\DISM.EXE /enable-feature /online /featureName:IIS-WebServerRole /featureName:IIS-WebServer

【问题讨论】:

  • 你搜索这个站点,你会遇到的最常见的方法是通过 vbscript 启动批处理文件。当然,如果您要专门提供批处理文件内容,我们或许能够提供更有效或更稳健的方法或答案。
  • 批处理文件只包含一个在系统上安装/启用 IIS 的命令。 @echo off c:\Windows\sysnative\DISM.EXE /enable-feature /online /featureName:IIS-WebServerRole /featureName:IIS-WebServer
  • 好吧,如果你只是运行一个带参数的可执行文件,我真的不明白你为什么需要一个批处理文件。

标签: batch-file cmd


【解决方案1】:

最简单的方法是创建一个.vbs文件并添加:

Set MyScript    = CreateObject("WScript.Shell")
MyScript.Run "D:\your_path_to\your_script_name_here.cmd", 0, False

然后启动.vbs 文件而不是批处理文件,后者将以隐藏模式启动批处理文件。最方便的解决方案是将两个文件放在同一个目录中。

【讨论】:

    【解决方案2】:

    Microsoft 已明确表示 PowerShell 是管理 Windows 的方式。您是否使用过Invoke-CommandNew-PSSession 通过网络在用户的计算机上运行东西。

    如果您想全力以赴,Microsoft 提供了 SCCM。 https://www.microsoft.com/en-us/cloud-platform/system-center-configuration-manager

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-11
      • 2012-12-25
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      相关资源
      最近更新 更多