要选择字符串的管道对象为空



为什么这是空的? 我正在寻找与主目录相关的变量。 在这些情况下,我必须求助于findstr吗? 我意识到我正在管道中一个物体。 我希望能够搜索所有属性。 -InputOjbect 是 PSObject 类型。

dir variable: | select-string users

预期产出:

$                              users
HOME                           C:Usersjs
PROFILE                        C:UsersjsDocumentsPowerShellMicrosoft.PowerShell_profile.ps1
PWD                            C:Usersjs

编辑:

这是一个半奇怪的答案,但我必须输入我想要的属性。

dir variable: | select name,value | select-string users
@{Name=HOME; Value=C:Usersjs}
@{Name=PROFILE; Value=C:UsersjsDocumentsPowerShellMicrosoft.PowerShell_profile.ps1}
@{Name=PWD; Value=C:Usersjs}

如果你想让它像一些 linux shell 一样工作,我会使用以下内容:

dir variable:  |Out-String -Stream  |Select-String "users"

输出字符串将对象转换为字符串。(-流:逐行(

所以选择字符串按预期工作。

或者,如果我们想拥有对象,而不是字符串作为结果:

dir variable:  |where {$_.value -match "users" -or $_.name -match "users"}

最新更新