如何从Powershell的2行输出中获取字符串

时间:2018-06-27 04:41:52

标签: python powershell

我需要从powershell输出中获取一个字符串。我需要获得包裹名称
提示工具包并在下面的管道中使用

> pip list --outdated
Package        Version Latest Type
-------------- ------- ------ -----
prompt-toolkit 1.0.15  2.0.3  wheel
  

点列表-已过时|哪里的对象{$ exclude -notcontains $ _} |   ForEach {pip install -U $ _。split(“”)[0]}

更新。
修改后的工作脚本

    $(
    $exclude = 'virtualenv', 'prompt-toolkit'
    pip list --outdated --format=freeze  | ForEach{ $_.split("=")[0]} | Where-Object { $exclude -notcontains $_ } | ForEach { pip install -U $_ }                                    
    ) *>&1 >> Python_Modules_Updates_Log.txt

2 个答案:

答案 0 :(得分:1)

只需尝试

pip list --outdated | select-object -skip 2 | Where-Object { $exclude -notcontains $_ } | ForEach { pip install -U $_.split(" ")[0] }

答案 1 :(得分:0)

要获取列表的Packagename,可以使用-ExpandProperty的{​​{1}}功能并将其通过管道传递给安装命令:

Select-Object