我使用下面的批处理文件通过 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
最佳答案
只需将 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
关于windows - 管道输出时如何在批处理文件中显示消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38725292/