【问题标题】:Run a Program and exit the cmd window运行程序并退出 cmd 窗口
【发布时间】:2017-10-04 16:50:44
【问题描述】:

我想创建一个运行特定程序的批处理文件,然后命令窗口自行退出,我尝试这样做是因为我将创建该批处理文件的快捷方式,以便批处理文件位于根目录中

@echo off 
"program.exe" "mainframe.pkg"

exit

它可以工作,但黑色窗口并没有消失,并导致程序大惊小怪,因为它有周边。任何方法来删除黑色丑陋的 CMD 窗口。

【问题讨论】:

  • 使用START 命令运行你的程序。

标签: batch-file batch-processing


【解决方案1】:

使用start 命令。

@echo off
start "" "program.exe" "mainframe.pkg"

start 命令后的第一个引号字符串是控制台窗口标题(如果您正在启动控制台程序);它可以是一个空字符串,如我的示例所示。之后,指定程序名称及其参数。

脚本末尾不需要exit 命令。 (事实上​​,我建议不要在没有/b 参数的情况下使用它,因为如果您从cmd.exe 提示符运行脚本,您的cmd.exe 窗口将在没有警告的情况下关闭。)

【讨论】:

    【解决方案2】:

    您需要像这样将出口 0 添加到程序的末尾:

    @echo off 
    start "program.exe" "mainframe.pkg"
    
    exit /B 0
    

    这应该可行,但请告诉我!

    【讨论】:

    • 在没有/b 参数的批处理文件脚本末尾添加exit 命令,如果您想从已经打开的命令窗口运行脚本,将导致其行为粗鲁。 (它将终止您打开的命令窗口。)
    • 好的,将出口/B添加到程序中。不过我做了一些研究,似乎出口 0 工作得很好。
    • 不,你没有抓住重点。如果我正在运行cmd.exe 并运行您的脚本,它将终止我的cmd.exe 会话。这对脚本来说是不礼貌的行为。
    • @Bill_Stewart 也许我误会了。我以为他想做的是让脚本打开程序。然后他想关闭脚本黑匣子。如果您只打开了一个脚本会话和程序,那么退出命令将无关紧要,因为他只打开了一个脚本会话。然后程序将保持打开状态,然后脚本将关闭。也许问题作者的一些验证会有所帮助。
    【解决方案3】:

    @echo 关闭

    start /B "" "program.exe" "mainframe.pkg"

    退出 /B 0

    【讨论】:

    • 请避免仅使用代码回答。最好解释一下为什么您的答案可以解决问题,以及为什么它可能比提供的其他答案更可取。
    猜你喜欢
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多