gpt4 book ai didi

powershell - (powershell) 选择字符串与 Findstr

转载 作者:行者123 更新时间:2023-12-04 01:53:10 24 4
gpt4 key购买 nike

这很简单……为什么第一个命令有效而第二个命令无效?

Findstr 在我看来最适合在“dos”之类的命令中使用,而不是在 powershell 中使用。

Get-AppXProvisionedPackage -online | findstr ^DisplayName

Get-AppXProvisionedPackage -online | Select-String -pattern "DisplayName"

PowerShell 新手 :)

最佳答案

findstr是一个操作系统可执行文件(实际上是 findstr.exe),您可以在 PowerShell 中看到它:

Get-Command findstr
输出:
CommandType     Name                                               Version    Source                                   
----------- ---- ------- ------
Application findstr.exe 10.0.10... C:\WINDOWS\system32\findstr.exe
Select-String类似但功能更强大,是 native PowerShell cmdlet
CommandType     Name                                               Version    Source                                   
----------- ---- ------- ------
Cmdlet Select-String 3.1.0.0 Microsoft.PowerShell.Utility

但是,它们的工作方式并不完全相同,也不会采用相同的输入。 Select-String通常更适合在 PowerShell 中使用,但请查看帮助以了解其工作原理。
正如 Mathias 指出的那样,对于您正在做的事情,您可能想要 Select-Object :
Get-AppXProvisionPackage -online | Select-Object DisplayName
这将返回一个具有单个属性的新对象 DisplayName .要仅获取属性的值,您可以使用:
Get-AppXProvisionPackage -online | Select-Object -ExpandProperty DisplayName
(另见 CapitanShinChan's answer)
PowerShell cmdlet 通常返回具有各种属性的对象,您看到的程式化格式用于显示,但您可以通过编程方式访问属性,而无需使用字符串解析。 Select-Object是一种方式,另一种是使用点 .符号:
$pkg = Get-AppXProvisionPackage -online
$pkg.DisplayName

关于powershell - (powershell) 选择字符串与 Findstr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38792694/

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