使用PowerShell时,有时我只想显示文件的名称或全名.
从我可以收集到的,这样做的方法是使用Get-ItemProperty(别名gp)和传递-n fullname,例如
PS C:\Dev> gp . -n fullname
Run Code Online (Sandbox Code Playgroud)
值得注意的是我要在更长的脚本与结合使用该foreach和where,等
然后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不是展示这些东西的正确方法,那是什么?
有很多方法.我认为你在寻找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一起去.
| 归档时间: |
|
| 查看次数: |
53179 次 |
| 最近记录: |