gpt4 book ai didi

powershell - 是否可以在将 Powershell 命令发送到管道之前获取其全部输出?

转载 作者:行者123 更新时间:2023-12-02 23:13:27 26 4
gpt4 key购买 nike

一个命令输出多行字符串,我想确定这些行中的任何一行是否与我正在寻找的字符串匹配。

例子:
Get-ChildItem | Select -ExpandProperty "Name" | %{ $_ -Match "Desktop" }为每个文件夹返回 false,但名为“Desktop”的文件夹除外。

是否可以简单地返回一个 True如果其中任何一个文件夹的名称中包含“桌面”,以及一个 False除此以外?我在想类似的事情:
Get-ChildItem | Select -ExpandProperty "Name" | <aggregate_cmdlet> | %{ $_ -Match "Desktop" }

最佳答案

您可以使用 -match整个结果集合的运算符:

$ci = Get-ChildItem | Select-Object -ExpandProperty "Name"
$ci -match "Desktop"

现在,最后一条语句将返回与“Desktop”匹配的所有字符串。如果未找到匹配项,则不返回任何内容。

所以现在我们可以这样做(在 PowerShell 3.0 及更高版本中):
$ci -match "Desktop" -as [bool]

并让它返回 True当一个或多个项目匹配“桌面”时。

并以单行格式:
(ls|select -exp Name)-match"Desktop"-as[bool]

关于powershell - 是否可以在将 Powershell 命令发送到管道之前获取其全部输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27725964/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com