透過 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;
}
您將看到只有第一個會呼叫暫停命令。