如何强制cmd.exe提示错误消息不关闭?

如何强制cmd.exe提示错误消息不关闭?

通过 cmd.exe 运行的 .exe 运行后,在我读到错误消息之前就消失了。如何才能让 cmd.exe 窗口和错误消息不关闭?或者有什么办法可以记录刚刚闪现的错误信息?谢谢。

答案1

启动启动控制台的程序确实会关闭窗口,因为不再需要 CMD。

如果您按下start并输入cmd并按回车键,您将启动命令提示符。

如果程序不在 C: 上,请按下该程序所在的驱动器号,然后按 :,再按回车键。

在下面的例子中,末尾的 _ 代表您的光标。

例子:

C:\Users\User>D:_

D:\>_

现在,使用命令cd导航到程序的目录。您可以tab按 自动完成名称。tab如果该文件夹存在,也会创建 Tools。

例子:

D:\>cd Tools_

D:\Tools>cd "My Program"_   <- type 'My' and press tab to Autocomplete to "My Program"

D:\Tools\My Program>_

现在输入您想要运行的程序的名称。

例子:

D:\Tools\My Program>program_
Hello, I am the error message you want to see.

D:\Tools\My Program>_

答案2

通常,当我必须执行此操作时,我会在同一个文件夹中创建一个 bat 文件(因此新文本文件重命名为 whatever.bat)在文本文件夹中打开然后输入:

ProgramName.exe
Pause

关闭并保存,然后运行 ​​bat 文件,它应该保持打开!

答案3

您可以使用.bat 文件来运行该 exe。

另外,您可以在 cmd 中使用以下命令将该 exe 文件的错误/输出记录到文本文件中:

myFile.exe >> “C:\logFile.txt”

两个大于号将附加到现有文件“ >> ”,而单个符号将覆盖现有文件“ > ”。

希望这能帮助您记录错误。

答案4

根据这个:

|| [...] 命令 1 || 命令 2 仅当 || 之前的命令失败时,才用于运行 || 后面的命令。Cmd.exe 运行第一个命令,然后仅当第一个命令未成功完成(收到大于零的错误代码)时才运行第二个命令。

如果您正在制作该 .exe,则只需pause在句子后面放置命令。

在 C++ 中调用 bash 的示例:

#include <iostream>
#include <windows.h>


using namespace std;

int main()
{
    system("cd  akfhaskfn|| pause");
    system("cd  || pause");

    return 0;
}

您将看到只有第一个会调用暂停命令。

相关内容