[解決済み] batスクリプトでコンソール出力をファイルにエコーして送信するには?
質問
タスクを実行し、出力をテキストファイルに送信するバッチスクリプトを持っています。 その出力をコンソール・ウィンドウにも表示させる方法はありますか?
例として
c:\Windows>dir > windows-dir.txt
を出力させる方法はありますか?
dir
をコンソールウィンドウに表示させるとともに、テキストファイルに入れることはできますか?
解決方法は?
いいえ、純粋なリダイレクトではできません。
しかし、いくつかのトリック(例えば
tee.bat
)ができます。
リダイレクトの説明を少ししてみる。
10個のストリームのうち1個をリダイレクトするには
ファイル
または
< ファイル
リダイレクトがコマンドの前か後かは重要ではありません。
ということで、この2行はほぼ同じです。
dir > file.txt
> file.txt dir
この例のリダイレクトは、あくまでショートカットで
1>
これは、ストリーム1(STDOUT)がリダイレクトされることを意味します。
つまり、以下のように番号を先頭に付ければ、どんなストリームでもリダイレクトできるわけです。
2> err.txt
また、1行で複数のストリームをリダイレクトすることも可能です。
dir 1> files.txt 2> err.txt 3> nothing.txt
この例では、標準出力は files.txt に、すべてのエラーは err.txt に、ストリーム 3 は nothing.txt に入ります (DIR はストリーム 3 を使いません)。
ストリーム0はSTDIN
ストリーム1がSTDOUT
ストリーム2がSTDERR
ストリーム3-9は使用しません
しかし、同じストリームを複数回リダイレクトしようとするとどうなるでしょうか?
dir > files.txt > two.txt
そして、それは常に最後の1つです。
ということは、イコール
dir > two.txt
OK、もう1つ可能性があります、ストリームを別のストリームにリダイレクトすることです。
dir 1>files.txt 2>&1
2>&1
はストリーム2をストリーム1にリダイレクトし
1>files.txt
にすべてリダイレクトします。
ファイル.txt
.
ここでは順番が重要です!
dir ... 1>nul 2>&1
dir ... 2>&1 1>nul
は異なります。最初のものは、すべて(STDOUTとSTDERR)をNULにリダイレクトします。
が、2行目はSTDOUTをNULに、STDERRを"empty"STDOUTにリダイレクトしているのです。
結論として、Otávio Décioやandynormancxの例がなぜうまくいかないかは明らかです。
command > file >&1
dir > file.txt >&2
どちらもstream1を2回リダイレクトしようとしますが、"There can be only one"で、常に最後の1回になります。
そのため、次のようになります。
command 1>&1
dir 1>&2
また、最初のサンプルではstream1からstream1へのリダイレクトは許可されていません(あまり有用ではありません)。
お役に立てれば幸いです。
関連
-
[解決済み] xcopyコマンド使用時に "invalid path 0 files copied "というエラーが発生する。
-
[解決済み] Windowsからリモートサーバーへscpでローカルファイルをコピーする [終了しました]。
-
[解決済み] 1つの.BATファイル内で複数の.BATファイルを実行する方法
-
[解決済み] N日以上前のファイルを削除するバッチファイル
-
[解決済み] Windowsのコマンドラインで、現在の日付/時刻をファイル/フォルダー名で使用するために適切な形式で取得するにはどうすればよいですか?
-
[解決済み] cURLの出力をファイルに取り込むには?
-
[解決済み] Windowsのコマンドライン環境を使って、ファイル内のテキストを検索・置換するにはどうすればよいですか?
-
[解決済み】バッチ/cmdで "コメントアウト"(コメント追加)するには?
-
[解決済み】PowerShellスクリプトを実行する方法
-
[解決済み】Windowsのバッチファイル:.batと.cmdの違いは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] CreateProcess でエラー 193 (%1 は有効な Win32 アプリではありません) が発生する理由
-
[解決済み] 0|%0とは何ですか、どのように機能しますか?
-
[解決済み] WPCups.exeとは何ですか?[クローズド]です。
-
[解決済み] terasso libraryでUnknown errorが発生し、vbaを使用してteradataに接続できない。
-
Windowsはプリンタに接続できません、操作は失敗しました、エラー0x0000011b、解決策の1つです。
-
[解決済み] コマンドプロンプト「Net View System Error 6118」[終了しました]。
-
[解決済み] Pythonの実行ファイル:py2exeかPyInstallerか?
-
[解決済み] Windowsからリモートサーバーへscpでローカルファイルをコピーする [終了しました]。
-
[解決済み] Windowsコマンドプロンプトのエイリアス
-
[解決済み] Windows 7 - 'make'が内部または外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されない