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%

这有点棘手。因此,让我们将该行拆解为四个部分:

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

想法是将行打印到一个临时文件(名为“_”)(第二部分),然后将该文件的内容输入到屏幕(第三部分),然后将其输入到日志文件(第四部分)。

将所有内容放入一个变量(第一部分),这样您就不必在每一行都输入那个怪物字符串。(这就是为什么“>”和“&”用“^”转义的原因)

所以每次使用

echo whatever %logg%

它将出现在屏幕上并写入 %logfile%

这也适用于命令:

ipconfig %logg%
于 2013-07-03T19:43:13.813 回答