2012-03-31 61 views
2

如何在不同的控制檯窗口中運行兩個獨立的控制檯應用程序之間進行管道連接?兩個控制檯應用程序之間的管道?

例如我願做類似的東西:

ffmpeg -i 0.flv -vcodec mpeg4 -f asf -s cif - | vlc - 

不過,我想從兩個獨立的窗口,這是不行的做到這一點,我想這是因爲標準輸出是本地到CMD窗口。

cmd窗口1:

ffmpeg -i 0.flv -vcodec mpeg4 -f asf -s cif - 

cmd窗口2:

vlc - 

有沒有辦法以編程方式實現這一目標? |究竟在幕後做了什麼?

+0

如果你告訴我們你想要達到這個究竟它可能更容易提出一個解決方案。 – aKzenT 2012-03-31 22:50:52

+0

很明顯,他試圖將ffmpeg輸出引導到VLC的輸入,我認爲? :) – 2012-03-31 22:52:37

+0

是的,但問題是如何在2個獨立的窗口中做到這一點。爲什麼在2個窗口?如果他想要跟蹤兩個程序(通過STDERR)的狀態報告,可能還有其他解決方法(請參閱我的答案)。 – aKzenT 2012-03-31 22:56:36

回答

2

cmd所做的是將第一個進程的stdout連接到第二個進程的stdin,您可以通過編程方式執行此操作。舉一個例子,請看SO後:

How does one setup a pipe between two child processes in Win32?

如果你想看到這兩個程序(STDERR)輸出的狀態,您可以在此重定向到另一個文件或程序讀取。

1

沒有辦法。 |將一個命令的輸出傳遞給另一個進程的stdin。

相關問題