如何在PowerShell中自定义FileInfo对象的默认显示?

时间:2015-09-16 23:45:56

标签: powershell powershell-v3.0

下面的脚本显示了当我尝试从FileInfo的输出中抑制Mode属性时会发生什么。我只对如何编写这个脚本感兴趣。我不希望每次获得文件列表时都必须指定格式。根据我的有限理解,第二个Get-Item c:\ Windows \ notepad.exe调用不应具有Mode属性。我试图用一个Process对象来理智地检查这个,但这更没意义。我没有在这个方法之前看到过于xml文件的东西,但看起来Mode属性甚至还没有。我不知道它来自哪里。谢谢!

脚本:

(Get-TypeData -TypeName System.IO.FileInfo).DefaultDisplayPropertySet.ReferencedProperties

Get-Item c:\Windows\notepad.exe | ft

Update-TypeData -Force -TypeName System.IO.FileInfo -DefaultDisplayPropertySet LastWriteTime,FileSize,Name
Update-TypeData -Force -TypeName System.IO.DirectoryInfo -DefaultDisplayPropertySet LastWriteTime,FileSize,Name
Update-TypeData -Force -TypeName System.IO.FileSystemInfo -DefaultDisplayPropertySet LastWriteTime,FileSize,Name

(Get-TypeData -TypeName System.IO.FileInfo).DefaultDisplayPropertySet.ReferencedProperties
Get-Item c:\Windows\notepad.exe | ft

输出:

Mode
LastWriteTime
FileSize
Name


    Directory: C:\Windows


Mode                LastWriteTime     Length Name                                                                                                                                                                                                                                                                                                                                                                                        
----                -------------     ------ ----                                                                                                                                                                                                                                                                                                                                                                                        
-a---          7/9/2015  12:13 PM     221184 notepad.exe                                                                                                                                                                                                                                                                                                                                                                                 


LastWriteTime
FileSize
Name


    Directory: C:\Windows


Mode                LastWriteTime     Length Name                                                                                                                                                                                                                                                                                                                                                                                        
----                -------------     ------ ----                                                                                                                                                                                                                                                                                                                                                                                        
-a---          7/9/2015  12:13 PM     221184 notepad.exe                                                                                                                                                                                                                                                                                                                                                                                 

0 个答案:

没有答案