本文介绍一个PowerShell中使用Get-ChildItem这个cmdlet来获取目录下的文件列表。Get-ChildItem是获取子项目的意思,可以获取一个目录下的文件和子目录。
在DOS系统下,我们想查看一个目录下有哪些子目录和文件,我们可以通过dir命令来实现。在PowerShell中,dir命令貌似仍然可用。但洪哥告诉你,这个dir已经不是cmd.exe中的那个dir了,它是Get-ChildItem这个cmdlet的别名。也就是说,使用Get-ChildItem和使用dir得到的效果是完全一样的。
PS C:\Users\splaybow> Get-ChildItem d:\
目录: D:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2013/11/15 10:50 develop
d---- 2013/11/1 22:27 green
d---- 2013/11/4 17:31 Program Files
d---- 2013/11/17 9:30 Program Files (x86)
d---- 2013/10/13 10:02 soft
PS C:\Users\splaybow> echo "xxx">d:\1.txt
PS C:\Users\splaybow> Get-ChildItem d:\
目录: D:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2013/11/15 10:50 develop
d---- 2013/11/1 22:27 green
d---- 2013/11/4 17:31 Program Files
d---- 2013/11/17 9:30 Program Files (x86)
d---- 2013/10/13 10:02 soft
-a--- 2013/11/17 19:07 12 1.txt
PS C:\Users\splaybow> Get-ChildItem d:\ | ?{$_.PsIsContainer -eq $false}
目录: D:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2013/11/17 19:07 12 1.txt
最后再说一下的是,Get-ChildItem不仅可以用来显示文件系统的文件列表,还可以处理环境变量(env)、注册表(hklm)、证书(cert)、变量(Variable)等树状路径。