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

2024-06-15 04:42:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从powershell输出中获取一个字符串。我需要获取包名
i、 e提示工具箱并在下面的管道中使用它

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

pip list --outdated | Where-Object { $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

Tags: installpip字符串object工具箱wheretoolkitprompt
2条回答

只要试一下

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

要获取列表的packagename,可以使用-ExpandPropertySelect-Object特性并将其通过管道发送到install命令:

pip list  outdated | Select-Object -ExpandProperty Package | Where-Object { $exclude -notcontains $_ } | ForEach { pip install -U $_}

相关问题 更多 >