バッチで一切のエラーメッセージを表示しない

意外に手間取ったのでメモ。

del /f filename
を実行したときにファイルがなくても一切メッセージをコマンドプロンプトに表示したくない。
リダイレクトのテクニックだが、意外や意外。うまくいかない。

リダイレクトのおさらい:
command > filename
標準出力のリダイレクト (commandの出力をfilenameに上書保存)
command 2> filename
標準エラー出力のリダイレクト (commandのエラー出力をfilenameに上書保存)
command 2>&1
標準エラー出力を標準出力と同じにする


データを捨てるには NUL デバイス(UNIXはNULLだがWindowsはNULであることに注意)にリダイレクトすればいい。
そこで
del /f filename 2>&1 >NUL
としてもうまくいかない(エラーが表示されてしまう)。

正解は
del /f filename >NUL 2>&1
であった。

NULへのリダイレクトの位置がなぜ前でなければいけないのかと言われてもわからない。それがコマンドプロンプトの仕様なのだろう。

bash シェルでも同じように 2>&1 する場合は、リダイレクトを先に行う必要があると分かった。実は今年、 bash で 2>&1 とやって、うまくいかないことがあったのだった。なぞが解けた。


以上。
[PR]
by reich | 2008-06-16 11:54 | IT


メモ


by reich

プロフィールを見る
画像一覧

カテゴリ

全体
身辺雑記
IT
SSD
ニュース
グルメ
Raspberry Pi
未分類

以前の記事

2017年 03月
2017年 02月
2016年 06月
2016年 04月
2016年 02月
2015年 11月
2015年 10月
2015年 07月
2015年 03月
2015年 02月
2015年 01月
2014年 11月
2014年 10月
2014年 09月
2014年 08月
2014年 06月
2014年 05月
2014年 04月
2014年 02月
2014年 01月
2013年 12月
2013年 06月
2013年 05月
2013年 02月
2012年 10月
2012年 08月
2012年 07月
2012年 05月
2012年 04月
2012年 03月
2012年 02月
2011年 12月
2011年 08月
2011年 06月
2011年 05月
2011年 03月
2010年 11月
2010年 10月
2010年 02月
2010年 01月
2009年 12月
2009年 08月
2009年 06月
2009年 04月
2009年 01月
2008年 12月
2008年 09月
2008年 08月
2008年 07月
2008年 06月
2008年 05月
2007年 06月
2007年 05月
2007年 04月
2006年 06月

お気に入りブログ

最新のコメント

del /f filen..
by 通りすがり at 14:37
ヒトラーがやった、ユダヤ..
by Rabenschwarz at 21:54

メモ帳

最新のトラックバック

南朝鮮で「親日派」財産を..
from 漆黒ノ軍皇
ビーチバレーの妖精!浅尾..
from ビーチバレー浅尾美和のビキニ..

ライフログ

検索

人気ジャンル

ファン

記事ランキング

ブログジャンル

オヤジ
ネット・IT技術

画像一覧