脚本专栏 
首页 > 脚本专栏 > 浏览文章

PowerShell中使用Get-ChildItem命令读取目录、文件列表使用例子和小技巧

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

本文介绍一个PowerShell中使用Get-ChildItem这个cmdlet来获取目录下的文件列表。Get-ChildItem是获取子项目的意思,可以获取一个目录下的文件和子目录。

在DOS系统下,我们想查看一个目录下有哪些子目录和文件,我们可以通过dir命令来实现。在PowerShell中,dir命令貌似仍然可用。但洪哥告诉你,这个dir已经不是cmd.exe中的那个dir了,它是Get-ChildItem这个cmdlet的别名。也就是说,使用Get-ChildItem和使用dir得到的效果是完全一样的。

下面我们来看看Get-ChildItem在PowerShell中如何使用。

1、查看D盘下的子文件夹和文件列表
复制代码 代码如下:

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

当然,洪哥D盘下没有直接放文件,所以只看一些目录了。

2、查看D盘下所有的txt后缀的文件

复制代码 代码如下:
PS C:\Users\splaybow> Get-ChildItem d:\ -Include *.txt -recurse
    目录: D:\develop\tomcat8\webapps\docs\appdev\sample\docs
Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-----        2013/10/16     14:50        857 README.txt
    目录: D:\develop\tomcat8\webapps\docs\appdev
Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-----        2013/10/16     14:50      17262 build.xml.txt
-----        2013/10/16     14:50       6421 web.xml.txt

文件列表下面还有很多内容,洪哥就不一一列举了。在Get-ChildItem这个cmdlet中,-Recurse表示是否循环遍历子目录,而-Include表示筛选条件。

3、查看D盘下的文件列表,不显示目录

复制代码 代码如下:
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

上面的命令中,洪哥先使用echo,在d:\下创建了一个1.txt。然后使用Get-ChildItem时,就可以看到文件列表中有1.txt这个项目,当然还有其它目录存在。最后洪哥使用了一个管道命令,将不是目录的项目从文件列表中筛选出来,于是得到1.txt的文件列表。

最后再说一下的是,Get-ChildItem不仅可以用来显示文件系统的文件列表,还可以处理环境变量(env)、注册表(hklm)、证书(cert)、变量(Variable)等树状路径。

关于PowerShell使用Get-ChildItem获取目录下的文件列表,本文就介绍这么多,希望对您有所帮助,谢谢!

上一篇:PowerShell中使用Out-String命令把对象转换成字符串输出的例子
下一篇:PowerShell中使用GetType获取变量数据类型
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。