在 Windows 10 上。
我尝试查看其他问题,但所有解决方案都是针对您从命令行自行运行的 .exe 文件或 .bat 文件。
我正在使用一个带有 GUI 的程序,它可以自己运行其他 exe 文件,并且我试图在打开这些 exe 文件时记录 cmd 窗口输出。
我不能直接调用 exe,因为带有 GUI 的主程序正在处理它正在执行的其他程序所需的所有参数等。
有什么方法可以防止运行这些 exe 时关闭 cmd 窗口?
编辑:这不是一个完美的解决方案,但 ctrl+C 会暂停执行并在 cmd 窗口内弹出提示“终止批处理作业 (Y/N)?”,这使我有机会手动复制之前的所有输出。虽然不是最理想的,但我想分享一下,以防别人觉得它有用。
答案1
如果您可以创建或更改启动 exe 文件的快捷方式,则可以将其设置为以下内容:
cmd /k c:\path\program.exe
这样做的目的是创建一个 cmd 窗口,在其中启动程序,然后保持窗口打开。您可以像输入普通程序一样在其中输入内容,直到您单击 x 或输入 exit。
然后双击快捷方式就可以了。
无法将 cmd 配置为在启动通过控制台运行的 exe 文件时始终保持打开状态。
或者,您可以先通过单击 .exe 文件所在的地址栏来启动 cmd 提示符,以便您可以在其中键入并只需键入 cmd 即可在该窗口中启动 cmd,然后键入程序的名称。
如果这仍然不是您想要的,请编辑您的问题并详细说明您正在运行的带有 GUI 的程序是什么,以及您有哪些配置选项。
答案2
当我使用 C# 创建控制台应用程序时,我曾经遇到过这个问题,即 CMD 窗口在完成其工作后关闭。这是按照设计进行的,但有一种方法可以阻止这种情况发生,那就是在进程结束时要求用户输入,这样 CMD 窗口就会等待您按下任意键,然后退出进程并关闭。
在 C# 中,程序的最后一条语句必须是,System.ReadLine()
但根据您的编程语言,它可以是任何类似的内容。
希望有所帮助。