【问题标题】:Avoid cmd.exe start closing Windows terminal避免 cmd.exe 开始关闭 Windows 终端
【发布时间】:2016-04-12 14:37:56
【问题描述】:

我需要使用 /realTime 优先级选项运行我的程序。为此,我在 CMD 上运行:

cmd.exe /k start "MyProgram" /WAIT /RealTime "C:\Users\Me\bin\Release\MyProgram.exe" " option"

start 将以最高优先级运行进程 MyProgram,当它完成时关闭窗口(/WAIT 参数在这种情况下不起作用,因为它不是同步问题)。 /k 参数不能以与 start 命令相同的方式捕获结果,因为它会自行关闭。您知道如何在不关闭窗口终端的情况下使用启动命令设置优先级吗?非常感谢。

【问题讨论】:

  • 您希望cmd.exe 继续运行吗?在start 中使用cmd /k,而不是相反。
  • 你的意思是:启动 /WAIT /RealTime cmd /k "C:\Users\Me\bin\Release\MyProgram.exe" "option" 吗?它以 RealTime 优先级运行 cmd,但不是我的程序,它保持正常优先级。

标签: windows batch-file cmd


【解决方案1】:

知道了。要走的路是:

cmd /k start "C" /B /WAIT /RealTime "C:\Users\Me\MyProgram.exe" "选项"

这是我看到的防止启动命令关闭窗口的唯一方法。 /B 参数将在同一窗口中运行 MyProgram,而不是专门为该命令打开一个新窗口。 cmd /k 将完成它的工作,以防止在程序完成后开始关闭窗口。

【讨论】:

    【解决方案2】:

    鉴于 one 行批处理,应该发生的是程序启动并且您的批处理窗口应该保持打开,直到您的程序退出。

    您是否希望/waitmyprogram 终止之后等待

    如果是这样,请尝试

    start "MyProgram" /WAIT /RealTime "C:\Users\Me\bin\Release\MyProgram.exe" " option"
    pause
    

    【讨论】:

    • 这不是一个批处理,而是一个单行命令。我的帖子被编辑以添加我没有包含的批处理标签。我尝试了您的批处理解决方案,但即使使用 pause 命令,它也会关闭为“MyProgram”打开的 cmd 窗口
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    • 2019-09-29
    • 2013-03-02
    • 1970-01-01
    • 2014-07-13
    • 2017-04-26
    • 1970-01-01
    相关资源
    最近更新 更多