Get-ChildItem
获取一个或多个指定位置中的项和子项。
语法
Items (默认值)
Get-ChildItem
[[-Path] <string[]>]
[[-Filter] <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Recurse]
[-Depth <uint32>]
[-Force]
[-Name]
[-UseTransaction]
[-Attributes <FlagsExpression[FileAttributes]>]
[-Directory]
[-File]
[-Hidden]
[-ReadOnly]
[-System]
[<CommonParameters>]
LiteralItems
Get-ChildItem
[[-Filter] <string>]
-LiteralPath <string[]>
[-Include <string[]>]
[-Exclude <string[]>]
[-Recurse]
[-Depth <uint32>]
[-Force]
[-Name]
[-UseTransaction]
[-Attributes <FlagsExpression[FileAttributes]>]
[-Directory]
[-File]
[-Hidden]
[-ReadOnly]
[-System]
[<CommonParameters>]
说明
Get-ChildItem cmdlet 获取一个或多个指定位置中的项。 如果该项为容器,则此命令将获取容器内的各项(称为子项)。 可以使用 Recurse 参数获取所有子容器中的项,并使用 Depth 参数来限制递归级别数。
Get-ChildItem 不显示空目录。 当 Get-ChildItem 命令包含 深度 或 递归 参数时,输出中不包含空目录。
位置由 PowerShell 提供程序向 Get-ChildItem 公开。 位置可以是文件系统目录、注册表配置单元或证书存储。 有关详细信息,请参阅 about_Providers。
参数
-Attributes
获取具有指定属性的文件和文件夹。 此参数支持所有属性,并允许指定属性的复杂组合。
例如,若要获取加密或压缩的非系统文件(而不是目录),请键入:
Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed
若要查找具有常用属性的文件和文件夹,请使用 Attributes 参数。 或者,Directory、File、Hidden、ReadOnly和 System的参数。
Attributes 参数支持以下属性:
- 存档
- 压缩
- 设备
- Directory
- 加密
- 隐
- IntegrityStream
- 普通
- NoScrubData
- NotContentIndexed
- 离线
- ReadOnly
- ReparsePoint
- SparseFile
- 系统
- 临时
有关这些属性的说明,请参阅 FileAttributes 枚举。
若要组合属性,请使用以下运算符:
-
!(不) -
+(和) -
,(或)
请勿在运算符及其属性之间使用空格。 逗号后可以使用空格。
对于常见属性,请使用以下缩写:
-
D(目录) -
H(隐藏) -
R(只读) -
S(系统)
参数属性
| 类型: | |
| 默认值: | None |
| 接受的值: | Archive, Compressed, Device, Directory, Encrypted, Hidden, IntegrityStream, Normal, NoScrubData, NotContentIndexed, Offline, ReadOnly, ReparsePoint, SparseFile, System, Temporary |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Depth
此参数已添加到 PowerShell 5.0 中,使你能够控制递归深度。 默认情况下,Get-ChildItem 显示父目录的内容。
Depth 参数确定递归中包含的子目录级别数,并显示内容。
例如,Depth 2 包括 Path 参数的目录、第一级子目录和第二级子目录。 默认情况下,输出中包含目录名称和文件名。
注释
在 Windows 计算机的 PowerShell 或 cmd.exe 中,可以使用 tree.com 命令显示目录结构的图形视图。
参数属性
| 类型: | UInt32 |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Directory
若要获取目录列表,请使用 Directory 参数或具有 Directory 属性的 Attributes 参数。 可以将 Recurse 参数与 Directory 配合使用。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | 广告, d |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Exclude
指定此 cmdlet 从操作中排除的属性或属性作为字符串数组。
此参数的值定义了 Path 参数的限定条件。 输入路径元素或模式,例如 *.txt 或 A*。 允许使用通配符。
* 参数中的尾随星号()是可选的。 例如,-Path C:\Test\Logs 或 -Path C:\Test\Logs\*。 如果包含尾随星号(*),该命令将递归到 Path 参数的子目录中。 如果没有星号(*),将显示 Path 参数的内容。 示例 5 和 Notes 部分包含更多详细信息。
参数属性
| 类型: | String[] |
| 默认值: | None |
| 支持通配符: | True |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-File
若要获取文件列表,请使用 File 参数。 可以将 Recurse 参数与 File一起使用。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | af |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Filter
指定筛选器以限定 Path 参数。 唯一支持使用筛选器的 PowerShell 提供程序是已安装的 FileSystem 提供程序。 筛选器比其他参数更有效,因为提供程序在 cmdlet 获取对象时应用它们,而不是在检索对象后让 PowerShell 筛选对象。 筛选器字符串将传递给 .NET API 以枚举文件。 该 API 仅支持 * 和 ? 通配符。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | True |
| 不显示: | False |
参数集
(All)
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Force
允许该 cmdlet 获取用户无法访问的项,例如隐藏文件或系统文件。 Force 参数不会替代安全限制。 实现因服务提供商而异。 有关详细信息,请参阅 about_Providers。
参数属性
| 类型: | SwitchParameter |
| 默认值: | False |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Hidden
若要仅获取隐藏的项,请使用 Hidden 参数或具有 Hidden 属性的 Attributes 参数。 默认情况下,Get-ChildItem 不显示隐藏的项。 使用 Force 参数获取隐藏项。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | ah, h |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Include
指定一个或多个此 cmdlet 在操作中包含的项,这些项以字符串数组形式表示。 此参数的值定义了 Path 参数的限定条件。 输入路径元素或模式,例如 "*.txt"。 允许使用通配符。 仅当命令包含某项的内容(例如 ,其中通配符指定 C:\Windows\* 目录的内容)时,C:\Windows 参数才有效。
参数属性
| 类型: | String[] |
| 默认值: | None |
| 支持通配符: | True |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-LiteralPath
指定通向一个或多个位置的路径。 LiteralPath 的值严格按照所键入的形式使用。 不会将任何字符解释为通配符。 如果路径包含转义字符,请将它括在单引号中。 单引号告知 PowerShell 不要将任何字符解释为转义序列。
有关详细信息,请参阅 about_Quoting_Rules。
参数属性
| 类型: | String[] |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | PSPath |
参数集
LiteralItems
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-Name
仅获取位置中的项的名称。 输出是一个字符串对象,可以将管道向下发送到其他命令。 允许使用通配符。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | True |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Path
指定通向一个或多个位置的路径。 可以使用通配符。 默认位置为当前目录(.)。
参数属性
| 类型: | String[] |
| 默认值: | Current directory |
| 支持通配符: | True |
| 不显示: | False |
参数集
Items
| Position: | 0 |
| 必需: | False |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-ReadOnly
若要仅获取只读项,请使用 ReadOnly 参数或 Attributes 参数 ReadOnly 属性。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | ar |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Recurse
获取指定位置及其所有子项中的项。
参数属性
| 类型: | SwitchParameter |
| 默认值: | False |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | s |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-System
仅获取系统文件和目录。 若要仅获取系统文件和文件夹,请使用 System 参数或 Attributes 参数中的 System 属性。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | as |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-UseTransaction
在活动事务中包含该命令。 此参数仅在事务正在进行时有效。 有关详细信息,请参阅 about_Transactions。
参数属性
| 类型: | SwitchParameter |
| 默认值: | False |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | usetx |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
String
可以通过管道传递包含 Get-ChildItem路径的字符串。
输出
Object
Get-ChildItem 返回的对象的类型由提供程序驱动器路径中的对象确定。
String
如果使用 Name 参数,Get-ChildItem 将对象名称作为字符串返回。
备注
- 可以通过其内置别名、
Get-ChildItem、ls和dir来引用gci。 有关详细信息,请参阅 about_Aliases。 - 默认情况下,
Get-ChildItem不会获取隐藏项。 若要获取隐藏项,请使用 Force 参数。 -
Get-ChildItemcmdlet 用于处理由任何提供程序公开的数据。 若要列出会话中可用的提供程序,请键入Get-PSProvider。 有关详细信息,请参阅 about_Providers。