| バッチコマンド Q&A FAQ |
| Q stdoutとstderrの違いは |
A
stdoutは標準の出力、stderrはエラーの出力先です。
例えば以下の実行結果を考えます。
(nonexist.txtは実際に存在しないファイルです)
【1】
C:\temp>dir nonexist.txt
ドライブ C のボリューム ラベルは cdrive です
ボリューム シリアル番号は xxxx-yyyy です
C:\temp のディレクトリ
ファイルが見つかりません
【2】
C:\temp>dir nonexist.txt >stdout.txt
ファイルが見つかりません
C:\temp>type stdout.txt
ドライブ C のボリューム ラベルは cdrive です
ボリューム シリアル番号は xxxx-yyyy です
C:\temp のディレクトリ
【3】
C:\temp>dir nonexist.txt 2>stderr.txt
ドライブ C のボリューム ラベルは cdrive です
ボリューム シリアル番号は xxxx-yyyy です
C:\temp のディレクトリ
C:\temp>type stderr.txt
ファイルが見つかりません
【1】の場合は標準出力、エラー出力ともコンソールに表示されます。
【2】で標準出力のみファイルに出力しています。
【3】ではエラー出力のみファイルに出力しています。
このように同じ出力でも正常・エラーで出力先が分かれる仕組みになっています。
元々これらはUNIXの仕組みであり、MS-DOSで同じ機能を組み込んだことになります。
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。
このページはリンクフリーです。(このページへの直接リンクも可能です。)