管道输出时如何在批处理文件中显示消息?

时间:2016-08-02 15:56:20

标签: windows batch-file video cmd

我使用下面的批处理文件来使用avidemux的cli可执行文件连接视频文件。我将大多数avidemux的输出传输到00_log.log的原因是它的输出非常冗长,并且将其转换为文本文件似乎会留下更多有用的状态或控制台上显示的严重错误消息。但是,我希望在弹出任何错误消息时看到avidemux正在处理什么文件。下面,ECHO后面的所有内容都不会显示在控制台中。

评论或删除@echo off只是在批处理作业开始时,而不是在avidemux的控制台输出旁边传递下面的ECHO行,从而限制了它的使用。

@echo off
>00_log.log (
ECHO Joining foo.mp4
"C:\Program Files\Avidemux\avidemux_cli.exe" --load 1.mp4 --append 2.mp4 --output-format MP4v2 --save D:\foo.mp4
ECHO Joining foo2.mp4
"C:\Program Files\Avidemux\avidemux_cli.exe" --load 3.mp4 --append 4.mp4 --output-format MP4v2 --save D:\foo2.mp4
)
ECHO Job Done
@Pause

1 个答案:

答案 0 :(得分:1)

只需将avidemux_cli输出重定向到日志文件,但不会重定向。 所以,使用类似的东西:

@echo off
ECHO Joining foo.mp4
"C:\Program Files\Avidemux\avidemux_cli.exe" --load 1.mp4 --append 2.mp4 --output-format MP4v2 --save D:\foo.mp4 >> 00_log.log 
ECHO Joining foo2.mp4
"C:\Program Files\Avidemux\avidemux_cli.exe" --load 3.mp4 --append 4.mp4 --output-format MP4v2 --save D:\foo2.mp4 >> 00_log.log 
ECHO Job Done
@Pause