强制CMD将管道更新到剪贴板

强制CMD将管道更新到剪贴板,cmd,ffmpeg,pipe,clipboard,Cmd,Ffmpeg,Pipe,Clipboard,我正在运行ffmpeg以成功地查找场景更改,但希望将ffmpeg的STDERR输出到另一个程序,首先通过管道传输到剪贴板进行测试。单独捕获STDERR2 |使ffmpeg认为应该通过管道使用格式2输出,但我发现我可以同时成功捕获STDOUT和STDERR: ffmpeg -i "inputfile.mkv" -filter_complex "select='gte(scene,0.4)',metadata=print:file=FrameDifferences.tx

我正在运行ffmpeg以成功地查找场景更改,但希望将ffmpeg的STDERR输出到另一个程序,首先通过管道传输到剪贴板进行测试。单独捕获STDERR
2 |
使ffmpeg认为应该通过管道使用格式2输出,但我发现我可以同时成功捕获STDOUT和STDERR:

ffmpeg -i "inputfile.mkv" -filter_complex "select='gte(scene,0.4)',metadata=print:file=FrameDifferences.txt" -f null - 2>&1 | clip

问题是,当我将管道连接到剪贴板时,我只会在程序运行完毕后得到更新。我之所以选择piping STDERR,其中一个原因是为了获得编码的进度更新,这相当令人伤心。有没有简单的方法强制CMD定期更新管道?或者这是对使用剪贴板的限制,因此我必须准备另一个程序来接收管道,从而开始测试?

问题是,
cmd
只能输出到一个目标。那不是你的屏幕,就是一个文件,或者是剪贴板。您需要一个工具将输出“分叉”到两个目的地。谷歌搜索“适用于windows的tee”。使用
-progress
选项。再次尝试该选项:(问题是,我发送到管道中的任何内容只有在程序完成后才会显示。向管道中添加来自-progress的额外信息没有什么区别,因为它仍然只在程序完成后显示。将进度写入文件并跟踪它。因为您重定向到文件(而不是管道)。要单独捕获STDERR:
command 2>&11>nul | clip
(以防对您有用;问题仍然是相同的)问题是,
cmd
只能输出到一个目标。这是您的屏幕、文件或剪贴板。您需要一个工具将输出“分叉”到两个目标。谷歌搜索“适用于windows的tee”。使用
-progress
选项。再次尝试该选项:(问题是,我发送到管道中的任何内容只有在程序完成后才会显示。向管道中添加来自-progress的额外信息没有什么区别,因为它仍然只在程序完成后显示。将进度写入文件并跟踪它。因为您重定向到文件(而不是管道)。要单独捕获STDERR:
command 2>&11>num | clip
(以防对您有用;问题仍然相同)