表示結果をファイルに出力する方法 - Windowsのコマンドプロンプト(bat,cmd)
○Windows XP
作業を自動実行する時に、表示結果をファイルに保存したくなる事があります。このような時は、コマンドの後ろに出力先を指定する方法が簡単です。
**** コマンドプロンプト画面表示の仕組みについて
o プログラムからコマンドプロンプト画面に書き込む方法は、2通りあります。
+ 標準出力 (= 普段使うのはこちら)
+ 標準エラー出力 (= 主にエラーメッセージ)
o ですので、画面表示結果をファイルに保存する時は、ファイルに保存したいものを選びます。
**** 手順
例えば、go.batという名前のバッチファイルを作って、実行するとします。
** コマンドの出力内容のうち、標準出力だけをファイルに記録する方法
o 一番良くお世話になる書き方です。
+ データを加工している時、エラーメッセージまで入れたくないですから。
----------------
call go.bat > log.txt
----------------
o 標準出力(= 主に普通の表示内容です)を、ファイルに保存します。
o 標準エラー出力(= 主にエラーメッセージです)は、画面に表示します。
** コマンドの出力内容のうち、標準エラー出力だけをファイルに記録する方法
o エラーメッセージだけ集めたい時の書き方です(例外あり)。
----------------
call go.bat 2> log.txt
----------------
o 標準出力(= 主に普通の表示内容です)は、画面に表示します。
o 標準出力は 1番。 標準エラー出力は 2番です。左の番号を省略すると、1番を指定した事になります。
** コマンドの出力内容を、全部ファイルに出力する方法
o 画面には表示しません。
----------------
call go.bat > log.txt 2>&1
----------------
o 2>&1を、最後に指定するのがポイントです。
** コマンドの出力内容を、ファイルと画面の両方に出力する方法
----------------
call go.bat > log.txt 2>&1
type log.txt
----------------
o 画面に表示されるのは、コマンドが終わってからです。
**** メモ
o ファイルに出力する時は、コマンドが途中で質問する事が無いように、コマンドを書きます。
o もしくは、質問されそうな所は、ファイルに出力しないようにします。
o プログラムの中には、作法を無視するものもあります。その場合は、適切に対応します。
+ 標準出力にエラーメッセージを書き込むプログラム
+ 標準エラー出力にデータを書き込むプログラム
+ どこか別の場所にエラーメッセージを書き込むプログラム
**** 確認したバージョン
o Windows XP Service Pack 3
==
関連ページ:
▼Windowsコマンド。画面表示と印刷関連(▼ABC順)
▼Windowsコマンド。プログラム実行関連(▼ABC順)
▼コマンドを実行する
▼コマンドプロンプト画面
▼制作メモ
> ECHOコマンドで空行を出力する
バッチファイルに書いたコマンド内容を実行画面に表示させない
> 実行中のプログラムを止める
バッチファイルの処理を途中で終わらせる書き方。EXIT と GOTO :EOF
+
バッチファイルを作る
(2011年5月11日訂正。用語を標準エラー出力へ)
(2011年1月26日追加。出力の種類)