如何強制 cmd.exe 提示錯誤訊息不關閉?

如何強制 cmd.exe 提示錯誤訊息不關閉?

透過 cmd.exe 運行的 .exe 運行,然後在我讀取錯誤訊息之前迅速消失。如何讓 cmd.exe 視窗和錯誤訊息不關閉?或是有辦法記錄剛剛閃現的錯誤訊息?謝謝。

答案1

啟動啟動控制台的程式確實會關閉窗口,因為不再需要 CMD。

如果您按下start並鍵入cmd並按 Enter 鍵,您將啟動命令提示字元。

如果程式不在 C: 上,請按程式所在的磁碟機盤符,然後按 : 並按 Enter 鍵。

在下面的範例中,末尾的 _ 代表您的遊標。

例子:

C:\Users\User>D:_

D:\>_

現在,使用命令cd導航到程式的目錄。您可以tab按 自動補全姓名。tab如果該資料夾存在,也會產生工具。

例子:

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 || command2 用於執行 || 之後的命令僅當 || 前面的命令失敗。 Cmd.exe 執行第一個命令,然後僅當第一個命令未成功完成(收到大於零的錯誤代碼)時才執行第二個命令。

如果你正在製作那個.exe,你只需要把pause命令放在你的句子後面。

以及呼叫 bash 的 C++ 範例:

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


using namespace std;

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

    return 0;
}

您將看到只有第一個會呼叫暫停命令。

相關內容