如何在获取屏幕输出的同时获取批处理文件的日志。
请注意,我的批处理文件也需要几个输入,我尝试了很多东西但它不起作用,有人有一些简单的解决方案吗?
: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
命令
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%