【问题标题】:How to hide command prompt for batch file如何隐藏批处理文件的命令提示符
【发布时间】:2013-12-24 05:24:47
【问题描述】:

我有一个批处理文件,它运行一些命令并在资源管理器中打开一些文件。我想在不打开任何命令提示符的情况下执行这些操作。是否可以?如果有,怎么做?

我没有使用任何其他脚本,例如 vbs。 提前致谢。

【问题讨论】:

  • 你不想使用 VBS 吗?

标签: batch-file


【解决方案1】:

不完全是您的答案,因为您可能不想使用 VBS,但是是的,它会使命令提示符完全不可见。

  1. 将您的代码保存在一个批处理文件中,比如说 My.bat

  2. 创建一个 VBScript 文件让我们说 Master.vbs 并调用您的 My.bat 文件 在里面。

假设您的批处理文件位于 C:\Test\My.bat 然后:

Master.vbs

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\Test\My.bat" & Chr(34), 0
Set WshShell = Nothing

它将以不可见/隐藏模式运行您的批处理文件。

【讨论】:

  • 看不懂OP的VBS反感,这个绝对是实现隐藏目的最好的方法。
  • 在我看来,这应该是最佳答案。这是王牌。
  • +1 在批处理文件中的 Start 前面使用双引号(例如下面的答案)对我来说不适用于 Windows 10/Office 2016,但 Sunny's 答案可以。 stackoverflow.com/questions/14697739/…
【解决方案2】:

如果可能,修改批处理文件以使用启动命令运行任何程序。默认情况下,start 立即返回而不等待程序退出,因此批处理文件将继续运行,并且可能会立即退出。再加上修改快捷方式以最小化运行批处理文件,您只会看到任务栏闪烁,甚至看不到屏幕上的窗口。

【讨论】:

  • 不幸的是,如果您有一个非常重要的批处理文件,尤其是当它需要在主程序退出后执行清理操作时,这将无法很好地工作。
【解决方案3】:

您可以使用Bat to exe 文件转换器将文件转换为以不可见模式运行,如stackoverflow answerimage as follows 中所述

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    • 2016-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多