[前の記事]« 下層フォルダにファイルが存在するかどうか調べるには
[次の記事][Win2000]tlistの復帰値が取得できない »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「リダイレクト(> <)、パイプ( | )、その他の特殊記号」索引へ

コマンド実行結果をエラーメッセージも含めてログに保存するには

252) コマンド実行結果のログ保存方法について教えてください。 にけ。 2003/05/22(木) 17:24


いつも参考にさせていただいております、ニケと申します。
初めて投稿させて頂きます。

一つのバッチファイル内に複数のコマンドを記録し、実行した内容と結果を一つのファイルに吐き出す方法を探しております。

<例>
RENAME.BAT
REN A B
REN C D

CTL_RENAME.BAT
RENAME.BAT > RENAME.LOG
実行はCTL_RENAMEから行えば出来るかと思ったのですが、コマンドは全てRENAME.LOGに出力されますが、エラーが起こったときなどの結果は画面に表示されてしまいました。
ファイルが見つからない、構文エラーなどの結果ログも同じファイルに記録されるようにしたいのですが、なにか方法はありますでしょうか。
もしくは複数のコマンドを実行した結果のみだけでも同じファイルに含めたいのですが…。
OSはWIN2000です。
なにかご存知の方、いらっしゃいましたらどうぞ宜しくお願いします。

254) Re:コマンド実行結果のログ保存方法について教えてください。(エラー出力のリダイレクト) YanaKen 2003/05/23(金) 09:08


ニケさん こんにちは。

>コマンドは全てRENAME.LOGに出力されますが、エラーが起こったときなどの結果は画面に表示されてしまいました。
>ファイルが見つからない、構文エラーなどの結果ログも同じファイルに記録されるようにしたいのですが、なにか方法はありますでしょうか。

 多くのコマンドのエラーメッセージは、(通常の見た目は同じように見えますが)実際には「標準出力(Stdout)」ではなく「標準エラー出力(Stderr)」という別ルートに出力されます。

 Windows95系だとこのエラー出力をファイル化するのはちょっと難しい(少なくとも標準的な方法はないらしい)んですが、NT系 (Windows2000)でのお話ということですので、その場合は方法があります。下記はWindows2000のヘルプ(コマンド・リファレンスの 「リダイレクト」の項)からの抜粋です。

---------
 不等号とアンパサンド (>&) は、既定の入出力ストリームのストリーム (stdout、stdin、stderr) を、別の既定の入出力ストリームにリダイレクトします。
 たとえば、command >output_file 2>&1 は、command の処理中に発生したエラー メッセージを画面から標準ファイル出力にリダイレクトします。
------
 これだと意味がわかりにくいかもしれないですが、要するに、

dir *.x >result.txt 2>&1

 ……のようにすると、dir *.x >result.txt だけではファイル化されない「ファイルが見つかりません。」のメッセージも同じファイルに落とすことができます。

YanaKen

[個人homepage] [@pay導入について] [YanaKenの@pay窓口]
 
 


カテゴリー「リダイレクト(> <)、パイプ( | )、その他の特殊記号」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2003年05月22日 18:33に投稿されたエントリーのページです。

ひとつ前の投稿は「下層フォルダにファイルが存在するかどうか調べるには」です。

次の投稿は「[Win2000]tlistの復帰値が取得できない」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート