通过 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;
}
您将看到只有第一个会调用暂停命令。