如何让Windows Powershell Get-ItemProperty只显示我想要的属性?

Ori*_*rds 3 powershell

使用PowerShell时,有时我只想显示文件的名称或全名.
从我可以收集到的,这样做的方法是使用Get-ItemProperty(别名gp)和传递-n fullname,例如

PS C:\Dev> gp . -n fullname
Run Code Online (Sandbox Code Playgroud)

值得注意的是我要在更长的脚本与结合使用该foreachwhere,等

然后Powershell显示全名,但它还显示了一堆其他内容,如下所示:

PSPath       : Microsoft.PowerShell.Core\FileSystem::C:\Dev
PSParentPath : Microsoft.PowerShell.Core\FileSystem::C:\
PSChildName  : Dev
PSDrive      : C
PSProvider   : Microsoft.PowerShell.Core\FileSystem
fullname     : C:\Dev
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何让powershell 只显示我想要的属性(fullname),而不是将所有其他东西都显示出来.是Get-ItemProperty即使这样做的正确方法?

更新:

如果我这样做:

ls -r | ?{ $_.fullname -match "foo" }
Run Code Online (Sandbox Code Playgroud)

这给了我一系列列表,每个目录一个,显示每个目录中的所有'foo'文件.我想要做的是巩固这些多个列表成一个单一的名单,并没有显示Mode,LastWriteTime,Length或任何其他不相关的东西.如果Get-ItemProperty不是展示这些东西的正确方法,那是什么?

Mik*_*ike 9

有很多方法.我认为你在寻找Get-ChildItem:

PS> get-childitem x.txt | 选择全名

    FullName
    --------
    C:\WINDOWS\system32\WindowsPowerShell\v1.0\x.txt


    PS > get-childitem x.txt | select name

    Name
    ----
    x.txt


    PS > get-childitem x.txt | % { $_.fullname }
    C:\WINDOWS\system32\WindowsPowerShell\v1.0\x.txt
    PS >
Run Code Online (Sandbox Code Playgroud)

你可以使用Get-ItemProperty,但我认为它更适用于注册表等事情.

PS > Get-ItemProperty x.txt | select name

Name
----
x.txt
Run Code Online (Sandbox Code Playgroud)

格式表,别名ft也很好知道...

PS > gci x.txt | format-table -a fullname,length

FullName                                         Length
--------                                         ------
C:\WINDOWS\system32\WindowsPowerShell\v1.0\x.txt    126
Run Code Online (Sandbox Code Playgroud)

常用的Get-ChildItem别名是ls,dir和gci.我在罗马时会和gci一起去.