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;
}
最初のものだけが一時停止コマンドを呼び出すことがわかります。