【发布时间】:2019-10-20 16:29:52
【问题描述】:
为什么这是空的?我正在寻找与主目录相关的变量。在这些情况下我必须求助于 findstr 吗?我意识到我在一个对象中进行管道传输。我希望能够搜索所有属性。 -InputOjbect 是 PSObject 类型。
dir variable: | select-string users
预期输出:
$ users
HOME C:\Users\js
PROFILE C:\Users\js\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
PWD C:\Users\js
编辑:
这是一个半奇怪的答案,但我必须输入我想要的属性。
dir variable: | select name,value | select-string users
@{Name=HOME; Value=C:\Users\js}
@{Name=PROFILE; Value=C:\Users\js\Documents\PowerShell\Microsoft.PowerShell_profile.ps1}
@{Name=PWD; Value=C:\Users\js}
【问题讨论】:
-
恐怕你对
Select-String的功能有误解。试试Get-ChildItem Variable: | Where-Object {$_.Value -match 'users'} -
Get-ChildItem 不显示 $。这样做:
dir variable: | where {$_.Value -match "users"} -
@sunilvijendra “不显示 $”是什么意思?你试过代码吗?顺便说一句:
dir只是Get-ChildItem的别名……你知道的,对吧? ;-) -
好点,@Olaf,虽然有时在输入对象的显示输出表示中进行基于字符串的搜索是一种方便的快捷方式,不需要知道对象的结构 - 请参阅@ 987654321@.
-
$ 只是最后一个命令参数。没那么重要。