我有一個要求,結合使用.NET中的CmdLets作爲管道輸出給出多個Power Shell腳本的輸出。合併多個PowerShell cmdlet輸出
例如:
Command-GetA -combine Command-GetB | Command-GetD
所以我想通過管道的GetA
和GetB
輸出發送到GetD
。有沒有一種緊湊的方式來使用PowerShell腳本或.NET cmdlet執行此操作?除了將輸出存儲在數組中並將其傳遞到管道之外的其他方法?
另一個複雜的例子可能是:
Command-GetA -combine (Command-GetB | Command-GetD) | Command-GetF
這應該結合GetA
和GetB|GetD
作爲管道輸入發送到GetF
編輯:
這將是很好,如果我可以做類似這 - @(GetA; GetB)-ConvertToASingleList | GetC
因此OutputOfGetA
和OutputOfGetB
不應該在GetC
上單獨調用。雙方應作爲經組合的陣列或列表對象,被傳遞到GetC
因此,您的實際需求*是一個**位**不同*,應該將輸出作爲單個項目傳遞,而不是通過元素傳遞。但是,如果你想傳遞數組作爲單個項目,那麼就沒有其他可能的方法,那麼首先創建該數組並將輸出存儲在其中(這個短語在你的問題中:*除了將輸出存儲在數組中然後傳遞它以管道?*,是真的誤導你的意圖)。如果我對你的真實需求是正確的,那就是你所需要的:',@(Command-GetA; Command-GetB)| Command-GetC'。 – PetSerAl
是的,你是非常正確的!通過這一行,我的意思是我不希望在cmd的一行中聲明單獨的數組。然後使用該數組傳遞給GetC,它將成爲cmd的另一行。我基本上想要完成一行。抱歉,應該正確說出我的問題。 非常感謝! – user3575135