PowerShell Get-ChildItem
最后修改:2025 年 2 月 15 日
在本文中,我们将介绍PowerShell中的Get-ChildItem
cmdlet。此cmdlet从指定位置(如文件和目录)检索项。
Get-ChildItem基础知识
Get-ChildItem
cmdlet列出指定位置的项。它可以处理文件系统驱动器、注册表和证书存储。默认情况下,它返回文件和目录。此cmdlet类似于CMD中的dir命令或Unix shell中的ls命令。
Get-ChildItem基本用法
使用Get-ChildItem
的最简单方法是不带任何参数。这将列出当前目录中的所有项。输出包括文件的名称、上次写入时间、大小。目录会标有“目录”字样。
Get-ChildItem
此命令检索当前目录中的所有项。输出默认格式化为表格。您可以看到项的名称、类型和日期。
列出特定目录中的项
您可以指定一个路径来列出特定目录中的项。使用-Path参数后跟目录路径。支持相对路径和绝对路径。可以使用通配符进行模式匹配。
Get-ChildItem -Path "C:\Windows\System32"
此命令返回System32目录中的所有项。输出包括系统文件和目录。可能需要管理员权限。
PS C:\> .\childitem2.ps1 Directory: C:\Windows\System32 Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 1/5/2025 8:00 AM en-US d----- 1/5/2025 8:00 AM Drivers -a---- 1/5/2025 8:00 AM 57344 advapi32.dll -a---- 1/5/2025 8:00 AM 102400 kernel32.dll
递归目录列表
要递归地列出所有子目录中的项,请使用-Recurse参数。这将显示完整的目录树结构。请小心处理大型目录树,因为它可能需要一些时间。输出可能非常多。
Get-ChildItem -Path "C:\Temp" -Recurse
此命令列出C:\Temp及其子目录中的所有项。将显示整个树中的每个文件和目录。输出可以进行筛选。
按名称筛选项
您可以使用通配符按名称筛选项。-Filter参数提供高效的模式匹配。这在搜索特定文件时很有用。过滤器在提供程序级别应用。
Get-ChildItem -Path "C:\Windows" -Filter "*.exe"
此命令列出Windows目录中的所有.exe文件。仅返回与模式匹配的可执行文件。搜索不区分大小写。
获取特定项的属性
您可以使用Select-Object选择要显示的特定属性。这允许自定义输出格式。可以指定多个属性。输出可以管道传输到其他cmdlet。
Get-ChildItem | Select-Object Name, Length, LastWriteTime
此命令仅显示项的名称、大小和修改日期。输出比默认格式更清晰。可以添加其他属性。
按大小查找文件
您可以使用Where-Object根据文件大小进行筛选。这有助于识别可能需要注意的大文件。大小默认为字节。可以使用比较运算符设置不同的阈值。
Get-ChildItem -Recurse | Where-Object { $_.Length -gt 10MB }
此命令列出当前目录树中大于10MB的文件。$_变量代表管道中的当前项。根据需要调整大小。
计算目录中的项数
您可以通过计算输出来统计目录中的项数。Measure-Object cmdlet提供了计数功能。这对于库存管理很有用。计数包括文件和目录。
(Get-ChildItem).Count
此命令返回当前目录中的项数。Count属性提供了一个快速的总数。要进行递归计数,请使用-Recurse。
来源
在本文中,我们已经介绍了PowerShell中的Get-ChildItem cmdlet。
作者
列出 所有 PowerShell 教程。