CUIツールを作ったので色々メモ。
標準出力をファイルにリダイレクト
echo text > stdlog.txt
標準エラーをファイルにリダイレクト
mkdir c:\ 2> errorlog.txt
標準出力と標準エラーをまとめてファイルにリダイレクト
mkdir c:\ > log.txt 2>&1
コンソールにも出力してリダイレクトにも書く
結論から言うと、DOSの標準環境だけじゃ無理。
全部出力し終えてから一気に表示するだけならtype
を使えばよい。
環境は限られるが、 Linuxにteeというコマンドがあり、Windows実装にした「safetee」というツールが有名。
safetee www.vector.co.jp
Linux teeコマンド
【 tee 】 標準入力を標準出力とファイルに出力する | 日経クロステック(xTECH)
2022/08/23 追記:久しぶりにこの周りをいじっていたところ、素晴らしいVBSを公開されているかたがいた。
このスクリプトをShiftJISのtee.vbsとして保存し、「cscript tee.vbs /a sample.log」などと打つと動作する。