正常に動作しているサイレント インストールを行うバッチ ファイルを作成しました。しかし、エラーメッセージが表示された場合、どうすればそれを読むことができますか? すべてのエラー/成功メッセージをログ ファイルに書き込むことはできますか? また、ウィンドウの終了を停止するコマンドはありますか?
1 に答える
メッセージ ( ) を出力し、キーが押されるまで待機するPAUSE
コマンドがあります。Press any key to continue . . .
これにより、ウィンドウが開く前にメッセージを読むことができます。スクリプトの終了前および/または必要な他の位置にコマンドをバッチファイルに追加するだけです。
メッセージをファイルにリダイレクトすることもできます。通常、コンソール メッセージはコマンド ラインに>filename
orを追加することでリダイレクトされます。1>filename
ただし、それはstdout
メッセージをリダイレクトするだけであり、メッセージもあるかもしれませんstderr
. 特に、エラー メッセージは に出力されることがよくありますがstderr
、これは規則ではなく、サード パーティのプログラムはその規則に従わない場合があります。いずれにしても、メッセージはコマンド ラインstderr
で put を使用してリダイレクトする必要があります。2>filename
両方をリダイレクトし、それらが同じファイルに移動することを確認する1>filename 2>&1
には、コマンド ラインで使用します。
リダイレクトは、スクリプト内の特定のコマンドまたはバッチ ファイル全般に追加できます。複数ある特定のコマンドをリダイレクトし、結果を同じファイルに記録する場合は、最初のコマンド以外のすべてまたは少なくともすべてのコマンドの>>
代わりに使用する必要があります。>
これ>
は、出力ファイルが存在する場合はそれを書き換えて>>
追加するためです。