如何将Powershell管道输出放入不带';不支持管道输入(多个参数)?

如何将Powershell管道输出放入不带';不支持管道输入(多个参数)?,powershell,pipe,command-line-interface,pipeline,Powershell,Pipe,Command Line Interface,Pipeline,我正在尝试使用Powershell获取过期巧克力包的列表,并将它们填充到choco-upgrade命令中,该命令使用一个空格分隔的列表:choco-upgrade[似乎(choco-oplated-r |%{$|.split('.|')[0]})-join'')只作为一个参数 尝试避免调用表达式出现问题: iex "choco upgrade $((choco outdated -r | %{$_.split('|')[0]}) -join ' ')" 注意:我已成功地在我

我正在尝试使用Powershell获取过期巧克力包的列表,并将它们填充到
choco-upgrade
命令中,该命令使用一个空格分隔的列表:
choco-upgrade[似乎
(choco-oplated-r |%{$|.split('.|')[0]})-join'')只作为一个参数

尝试避免调用表达式出现问题:

iex "choco upgrade $((choco outdated -r | %{$_.split('|')[0]}) -join ' ')"
注意:我已成功地在我的计算机上使用此命令:

iex "choco upgrade $((choco outdated -r | %{ ($_ -split "\.install|\|")[0] }) -join " ") -y"
似乎
(choco过时-r |%{$|.split('|')[0]})-join'')只作为一个参数

尝试避免调用表达式出现问题:

iex "choco upgrade $((choco outdated -r | %{$_.split('|')[0]}) -join ' ')"
注意:我已成功地在我的计算机上使用此命令:

iex "choco upgrade $((choco outdated -r | %{ ($_ -split "\.install|\|")[0] }) -join " ") -y"

将参数作为数组传递可以工作:

$myargs = '/i','hi'
echo Hi | findstr $myargs

Hi
因此,将第一个输出保持为数组:

choco upgrade (choco outdated -r | %{$_.split('|')[0]})


将参数作为数组传递可以工作:

$myargs = '/i','hi'
echo Hi | findstr $myargs

Hi
因此,将第一个输出保持为数组:

choco upgrade (choco outdated -r | %{$_.split('|')[0]})


另外,我没有寻找
|%{choco-upgrade$|}
,它对每个输入运行一次命令。我想对多个输入运行一次命令,因为它可能会以不同的方式处理。此外,我也没有寻找
|%{choco-upgrade$|}
,它对每个输入运行一次命令。我想对多个输入运行一次命令,因为它可能会以不同的方式处理。