设置输出日志后如何在bat文件上保留可视输出?

时间:2015-07-09 17:51:19

标签: batch-file

我正在运行bat文件进行备份。我把它设置为通过将其添加到bat文件的顶部来创建该过程的日志文件..(我从该网站上的答案得到)

QWidget* foo2 = new Foo2();
Foo1* f2 = qobject_cast<Foo1*>(foo2);

// f2 == NULL

现在,我希望将bat文件视觉运行与之前相同。我需要最终用户能够看到它在做什么并在bat文件中的菜单上做出选择。但是,创建日志的代码显然会将所有文本重定向到日志文件。

所以,我得到一个日志文件,它只是从一个菜单开始,要求用户选择该做什么,然后别无其他。

我该怎么做才能获得我的日志文件以及用户的屏幕输出?

提前致谢!

2 个答案:

答案 0 :(得分:1)

尝试这样:

@Echo off
SET LOGFILE=MyLogFile.txt
call :Logit
call :Logit >> %LOGFILE% 
exit /b 0

:Logit
ping www.google.com

或者喜欢这个:

@Echo off
SET LOGFILE=MyLogFile.txt
call :Logit & call :Logit >> %LOGFILE% & Start %LOGFILE%
exit /b 0

:Logit
ping www.google.com

答案 1 :(得分:0)

使用此实用程序 https://code.google.com/p/wintee/

(Brian Rasmussen对16年前提出的同一问题的回答,请先谷歌...) Displaying Windows command prompt output and redirecting it to a file

Hackoo的回答会两次调用Logit,这显然不是你想要的。

另一个解决方案是编辑.bat文件,使其只写入日志文件所需的内容,并在屏幕上显示用户需要的内容。 (这两个集合可能会重叠,所以在这种情况下,如果它只是回显,则回显两次,一次到日志文件,一次到屏幕。)