2012-04-12 109 views
0

我有一个批处理文件b1.bat,它在内部启动另外两个批处理文件b2.bat和b3.bat和b2.bat内部调用b4.bat和根批处理文件b1.bat,一直等到这三个(b2,b3和b4)完成。总之,情况是这样的:
b1.bat - > b2.bat - > b4.bat
                    - > b3.bat将子批处理文件输出写入为父批处理文件创建的日志文件

我想要写的所有的输出4个批处理文件(b1.bat,b2.bat,b3.bat和b4.bat)到单个日志文件my_log.txt中。我想用最小的努力做到这一点,即不改变。批处理文件,因为我有很多像这样的批处理文件没有日志记录。所以我想为他们提供日志记录。 I)是否可以通过父批处理文件即b1.bat来控制日志文件输出? 二)我是否需要使用重定向操作符将输出写入日志文件来更改所有批处理文件? 我无法找到适当的解决方案。请在这方面给我建议。

回答

0

假设你没有做使用START任何异步处理,你应该能够简单地使用:

b1.bat >my_log.txt 

您还可能希望通过追加2>&1到命令捕获错误消息。

+0

我试过那个。但它仅记录b1.bat输出,但不写入其他批处理文件的输出。 :( – Kaluva 2012-04-13 05:26:14

+0

@Kaluva - b1输出在日志中,但b2,b3,b4输出仍然在屏幕/控制台上?我不确定你错了哪里,因为这应该工作。你不应该修改b1.bat,如果它不适合你,那么你的被调用的批处理文件b2,b3,b4必须把它们的输出指向如果你不能解决这个问题,你可能需要发布一些失败的代码,让其他人帮助诊断发生的事情。 – dbenham 2012-04-13 11:24:41