PowerShell显示隐藏文件和系统文件的方法

时间:2021-05-22

在PowerShell中,列出文件的cmdlet是Get-ChildItem,别名为dir。比如我们使用“dir $env:windir”可以显示Windows目录的文件和文件夹。

命令:
复制代码 代码如下:
PS >dir $env:windir

输出:
复制代码 代码如下:
目录: C:\Windows
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2009/7/14 13:32 addins
d-r-s 2013/6/24 10:48 assembly
d---- 2009/7/14 18:31 zh-CN
……以上为文件夹部分
-a--- 2009/7/14 9:38 71168 bfsvc.exe
-a--s 2013/7/17 7:42 67584 bootstat.dat
-a--- 2009/7/14 9:39 10240 write.exe
……以上为文件部分

这里,我们来看看Mode属性这一列,一共五个字符,表示五种属性。
第一个字符,如果为“d”,表示这是一个文件夹;如果为“-”,表示它是一个文件。
第二个字符,如果为“a”,表示存档文件或文件夹,即archive属性。
第三个字符,如果为“r”,表示此文件或文件夹是只读类型,即read-only。
第四个字符,如果为“h”,表示此文件或文件夹是隐藏的,即hidden。
第五个字符,如果为“s”,表示此文件或文件夹是系统的,即system。

在Windows资源管理器的文件夹选项中,有一个显示所有文件或文件夹的选项,开启它可以显示隐藏文件。还有一个显示系统文件和文件夹的选项,开启它可以显示系统文件和文件夹。

在PowerShell中,默认使用dir命令是无法显示出隐藏文件或文件夹的,如果加一个“-Force”参数,则可以强制显示所有的文件或文件夹。如果进一步只想查看隐藏的文件或文件夹,可以加筛选条件。

命令:
复制代码 代码如下:
PS >Get-ChildItem $env:windir -Force | Where-Object { $_.Mode -like '*h*' }
输出:
复制代码 代码如下:
目录: C:\Windows
Mode LastWriteTime Length Name
---- ------------- ------ ----
d--hs 2009/7/14 18:44 BitLockerDiscoveryVolumeContents
d--hs 2013/7/15 13:31 Installer
-arh- 2009/7/14 12:54 749 WindowsShell.Manifest

说明:
此命令要求输出所有的$env:windir下的文件和文件夹,然后再筛选出带有隐藏属性“h”的对象。

在PowerShell 3.0中,还可以使用更直接的方式来来显示隐藏属性的文件和文件。

命令:
复制代码 代码如下:
PS >Get-ChildItem $env:windir -Attributes h

好了,关于显示隐藏文件件和文件夹,小编就介绍到这里,希望对大家有所帮助,谢谢!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章