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

780 查看

在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

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