0

画面にも出力を取得しながら、バッチファイルのログを取得する方法。

私のバッチファイルにもいくつかの入力があることに注意してください。かなりのことを試しましたが、うまくいきませんでした。誰か簡単な解決策がありますか?

4

2 に答える 2

1

TEE テクニックを使用します。

:Tee <Message> <File>
echo(%1
echo(%1>>%2
exit /b 0

このように使用します

call :Tee "This is my Message to display in the log and on screen." "Output.txt"

echoコマンドをcall :Teeコマンドに置き換えます

于 2013-07-03T18:59:33.283 に答える
0
set LogFile=somepath\logfile.txt
set logg=^> _^&^& type _^&^&type _^>^>%LogFile%
echo this goes to screen AND file! %logg%

これは少しトリッキーです。それでは、その行を 4 つの部分に分解しましょう。

set logg=      ^> _          ^&type _           ^&type _^>^>%LogFile%

行を一時ファイル ("_" という名前) に出力し (2 番目の部分)、そのファイルの内容を画面に入力し (3 番目の部分)、それをログファイルに入力します (4 番目の部分)。

そのすべてを変数 (最初の部分) に入れて、そのモンスター文字列をすべての行に入力する必要がないようにします。(これが、">" と "&" が "^" でエスケープされる理由です)

だから使うたびに

echo whatever %logg%

画面に表示され、%logfile% に書き込まれます

これは次のコマンドでも機能します。

ipconfig %logg%
于 2013-07-03T19:43:13.813 に答える