2016-08-02 28 views
2

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

评论或删除@echo off只是在批处理作业开始时中继下面的ECHO行,而不是与avidemux的控制台输出一起传送,因此限制了它的使用。

@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 
+2

'呼应这总是转到控制台> CON' – Aacini

+0

您的代码是不完整的,有一个右括号丢失... – aschipfl

+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 
相关问题