cmd.exe プロンプトのエラー メッセージを強制的に閉じないようにするにはどうすればよいですか?

cmd.exe プロンプトのエラー メッセージを強制的に閉じないようにするにはどうすればよいですか?

cmd.exe 経由で実行される .exe が実行され、エラー メッセージを読む前にすぐに消えてしまいます。cmd.exe ウィンドウとエラー メッセージを閉じないようにするにはどうすればよいですか? または、今表示されたエラー情報をログに記録する方法はありますか? よろしくお願いします。

答え1

コンソールを起動するプログラムを起動すると、CMD は不要になるため、ウィンドウは実際に閉じられます。

を押しstartて入力しcmd、Enter キーを押すと、コマンド プロンプトが起動します。

プログラムがインストールされているドライブ文字が C: にない場合は、そのドライブ文字に続けて : を押し、Enter キーを押します。

以下の例では、末尾の _ はカーソルを表します。

例:

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

その exe を実行するには .bat ファイルを使用できます。

また、cmd で次のコマンドを使用して、その exe ファイルのエラー/出力をテキスト ファイルに記録することもできます。

myFile.exe >> "C:\logFile.txt"

二重の「大なり」記号は既存のファイル「>>」に追加されますが、単一の記号は既存のファイル「>」を上書きします。

これがエラーのログ記録に役立つことを願っています。

答え4

これによれば:

|| [...] command1 || command2 || の前のコマンドが失敗した場合にのみ、|| に続くコマンドを実行するために使用します。Cmd.exe は最初のコマンドを実行し、最初のコマンドが正常に完了しなかった場合 (0 より大きいエラー コードを受信した場合) のみ、2 番目のコマンドを実行します。

pause.exe を作成する場合は、文の後にコマンドを追加するだけです。

bash を呼び出す C++ の例:

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


using namespace std;

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

    return 0;
}

最初のものだけが一時停止コマンドを呼び出すことがわかります。

関連情報