bat(cmd) ファイルの標準出力とエラー出力を同時にファイルに書き出す方法

目次

標準ストリームとは

標準ストリームとは、Unix系OSやWindowsのコマンドプロンプトなどにおいて、プログラムの実行環境(通常は端末)で事前に接続されたチャネル(パイプ)のことで、次の3つが標準で用意されています。

  • 標準入力(STDIN)
  • 標準出力(STDOUT)
  • 標準エラー出力(STDERR)

通常作成したプログラムの出力(println()などのもの)は標準出力に、エラー(Exceptionなどのもの)は標準エラー出力に、出力されます。

各出力をファイルに書き出す方法

標準出力をファイルに書き出す

通常 bat(cmd) ファイルの出力結果をテキストに書き出す場合は、次の様にリダイレクトします。

command.cmd > foo.txt

標準出力と標準エラー出力を同じファイルに書き出す

しかしながら、上記の方法では、標準エラー出力は書き出されないんですね。

ですので、同じファイルに書き出すのであれば次の様にします。

command.cmd > foo.txt 2>&1

「1」は「STDOUT」の標準出力を表します。
「2」は「STDERR」の標準エラー出力を表します。
「&」は演算子で、出力および複製をリダイレクトします。

ですので、「2>&1」は「STDERR(標準エラー出力)」を「STDOUT(標準出力)」にリダイレクトします。

と言うことで、2番目のコマンドは、「command.cmd」の出力結果のエラー含めた内容を、「foo.txt」に書き出せ、と言う内容であることがわかります。

標準出力と標準エラー出力とを別のファイルに書き出す

ですので、標準出力と標準エラー出力とを別のファイルに書き出したい場合は、次のように記述します。

command.cmd > foo.txt 2 > bar.txt

foo.txtには標準出力の内容が、bar.tdtには標準エラー出力の内容が書き込まれます。

まとめ

今回、クライアントの研修の受講生が大量に作ったプログラムの評価を行うのに使いました。

こういった用途ですと、エラーについても見ないと正しく評価できないんですよね。

10年集客し続けられるサイトを、ワードプレスで自作する9つのポイント プレゼント

【最後まで読んでくれたあなたに】

あなたは、24時間365日、自分の代わりに集客し続けてくれるWebサイトを作りたい!と思ったことはありませんか?

私はこれまで500以上のWebサイトの構築と運営のご相談に乗ってきましたが、Webサイトを作ってもうまく集客できない人には、ある一つの特徴があります。

それは、「先を見越してサイトを構築していないこと」です。
Webサイトで集客するためには、構築ではなく「どう運用するか」が重要です。

しかし、重要なポイントを知らずにサイトを自分で構築したり、業者に頼んで作ってもらってしまうと、あとから全く集客に向いていないサイトになっていたということがよく起こります。

そこで今回、期間限定で
『10年集客し続けられるサイトをワードプレスで自作する9つのポイント』
について、過去に相談に乗ってきた具体的な失敗事例と成功事例を元にしてお伝えします。

・ワードプレスを使いこなせるコツを知りたい!
・自分にピッタリのサーバーを撰びたい!
・無料ブログとの違いを知りたい!
・あとで悔しくならない初期設定をしておきたい!
・プラグイン選びの方法を知っておきたい!
・SEO対策をワードプレスで行うポイントを知りたい!
・自分でデザインできる方法を知りたい!

という方は今すぐ無料でダウンロードしてください。

期間限定で、無料公開しています。

※登録後に表示される利用条件に沿ってご利用ください

コメントを残す