SQLの窓 イラストAC フリー素材

2014年11月26日

Windows のコマンドプロンプトで、標準エラー出力へ出力する

普通に echo で表示すると、標準出力へ表示されます。しかし、もう一つ表示先があって、それを標準エラー出力と言い、通常そこへはエラーメッセージ等を表示して区別する目的で存在します。

しかし、例え意図的に標準エラー出力に表示しても、コマンドプロンプトには両方表示されるので、区別するにはそれなりの書き方があります。

1) 標準エラー出力へ表示する

▼ test.bat
@echo off
echo 標準エラー出力へ >&2
echo 標準エラー出力へ 1>&2
echo 標準出力へ

一つ目と二つ目が標準エラー出力へ表示されます。 > と 1> は同じ意味で、標準出力ですが、その相手として通常はファイルを指定したりしますが、かわりに &2 として標準エラー出力へと出力し直す形です。( 但しこの場合、間にスペースは書けません )

2) 標準エラー出力のみ表示する
test.bat 1> nul

test.bat の標準出力のみをを、何も無い nul へ表示します( 結果、コマンドプロンプトに標準出力への内容は表示されません )

3) どちらも表示しない
test.bat 1> nul 2> nul

または

test.bat 1> nul 2>&1

一つ目は両方とも nul へ。二つ目は、標準エラー出力を標準出力に出力しなおしているので結局表示されません


posted by at 2014-11-26 19:33 | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする