在命令提示符窗口中显示被调用批处理文件的输出?

时间:2014-07-14 18:56:50

标签: windows cmd output logfile

我有2个批处理文件(例如a.bat和b.bat)。我从a.bat调用b.bat:@call b.bat

b.bat中有一些echo语句,一些DB启动命令通常会显示启动数据库服务...服务启动等消息......一些复制文件语句...

我将所有这些消息从b.bat放入日志文件中。例如:sc delete ServName >> C:\test\log.log ..这些服务删除消息将成功进入日志文件

当我直接运行b.bat时,它会在命令提示符和日志文件中显示所有这些消息,但是当我从a.bat调用b.bat时,这些(复制文件,启动db等)消息它们不会显示在命令提示符中..它们只显示在日志文件中....

有没有办法在cmd窗口上显示b.bat文件时所有这些返回消息,当它被a.bat调用时

由于

1 个答案:

答案 0 :(得分:0)

如果您只想在执行后查看结果,只需在末尾添加“TYPE logfile.log”。

Cmd不支持多个输出流或复制,因此如果您需要“实时视图”,则需要从管道逐个处理该行:

  

for / f“tokens = *”%f in('Call b.bat')do @echo%f&& @echo%f>> log.txt

如果您是从a.bat执行此操作,则可能需要将%f替换为%% f