本文概述
Get-ChildItem cmdlet可以在一个或多个位置获取项目和子项目。如果项目是容器, 则它将项目放入容器内, 称为子项目。位置可以是注册表配置单元, 文件系统注册表或证书存储。
此cmdlet不会显示空目录。 gci, dir, ls是此cmdlet的别名。
使用-Recurse参数获取所有子容器中的项目, 并使用-Depth参数限制要递归的级别数。
句法
Get-ChildItem
[[-Path] <string[]>]
[[-Filter] <string>]
[-Recurse]
[-Depth <uint32>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Name]
[-Force] [-Directory]
[-Attributes <FlagsExpression[FileAttributes]>][-FollowSymlink]
[-File]
[-Hidden]
[-System]
[-ReadOnly]
[<CommonParameters>]
参数
-属性
此参数获取具有指定属性的文件和文件夹, 它支持所有属性, 并允许你指定属性的复杂组合。
此参数支持以下属性:
- 存档, 设备, 目录, 加密, IntegrityStream, 隐藏, NotContentIndexed, 正常, 脱机, NoScrubData, 只读, ReparsePoint, 压缩, 系统, SparseFile和临时。
使用以下运算符组合属性:
- ! (不)
- +(与)
- , (要么)
注意:请勿使用运算符及其属性之间的空格, 而应在逗号后使用。
通用属性使用以下缩写:
- D(目录)
- H(隐藏)
- R(只读)
- S(系统)
-深度
-Depth参数已添加到PowerShell 5.0中, 并允许你控制递归的深度。默认情况下, cmdlet get-ChildItem显示父目录的内容。
此参数确定递归中包含的子目录级别的数量并显示其内容。
-目录
-Directory参数用于获取目录列表。我们还可以在目录中使用-Recurse参数
-排除
-Exclude参数指定为字符串数组, 即属性。它还指定cmdlet从操作中排除的那些项目。 -Exclude参数的值限定-Path参数。
输入模式或路径元素, 例如A *或* .txt。允许使用通配符。
-包括
-Include参数将属性指定为字符串数组。它还指定cmdlet包括在操作中的那些项目。 -Include参数的值限定Path参数。输入模式或路径元素, 例如” * .txt”。
仅当cmdlet包含项的内容(例如’C:\ Windows \ *’)时, 此参数才有效, 其中通配符’*’指定C:\ Windows目录的内容。
-文件
-File参数用于获取文件列表。我们还可以将-Recurse参数与-File一起使用。
-过滤
-Filter参数指定用于限定-Path参数的过滤器。此参数比其他参数更有效, 因为提供程序在cmdlet检索对象时应用它们, 而不是让PowerShell在检索对象后对其进行过滤。过滤器的字符串传递给.NET API以枚举文件, 并且该API支持?和*通配符。
-力
-Force参数允许我们获取用户无法访问的项目, 例如系统文件或隐藏文件。此参数不会覆盖文件/安全权限。
-隐
-Hidden参数或带有Hidden属性的-attribute参数仅用于获取隐藏的项目。
-路径
-Path参数用于指定一个或多个位置的路径。默认位置是当前目录”。”。允许使用通配符。
文学路径
-LiteralPath参数还用于指定一个或多个位置的路径。与-Path参数不同, 此参数的值将按键入时的原样使用。如果路径包含任何转义字符, 则将其用引号引起来。没有字符被解释为通配符。单引号指示Windows PowerShell不要将任何字符解释为转义序列。
-Name
-Name参数用于仅检索位置中项目的名称。此参数的输出是一个字符串对象, 可以将其沿管道发送到其他命令。接受通配符。
-递归
-Recurse参数用于获取指定位置中的项目以及该位置的所有子项目。
-系统
将-System参数或-Attribute参数与System属性一起使用, 仅获取系统文件和目录。
-只读
将-ReadOnly参数或-Attribute参数与Readonly属性一起使用, 以仅获取只读项目。
-跟随符号链接
-FollowSymlink参数用于搜索以这些符号链接为目标的目录。它是一个动态参数。它仅在FileSystem提供程序中受支持。
例子
示例1:在当前位置获取子项
在此示例中, 此cmdlet(get-childItem)获取当前目录或位置中的子项。它显示所有文件和子目录名称。如果某项没有子项, 则此cmdlet不会返回任何输出, 并返回到PowerShell提示符。
默认情况下, 此cmdlet列出模式, LastWriteTime, 文件的大小(长度)以及项目的名称。
例2:获取给定路径的子项
本示例显示使用-Path参数在cmdlet中给定路径的子项。
示例3:获取给定目录或位置中子项的名称
本示例使用-Name参数仅显示给定目录中项目或文件的名称。此cmdlet使用-Path参数指定目录。
示例4:获取当前目录及其子目录中的子项
本示例将cmdlet get-childItem与-Recurse参数一起使用以搜索当前目录及其子目录。
示例5:使用深度参数获取物品
本示例使用-Depth参数来确定递归中包含的子目录级别的数量。那些空目录从输出中排除。
cmdlet get-chilItem使用-Path参数指定C:\ users。 -Depth参数指定两个递归级别。
cmdlet get-childItem -Path c:\ users -Depth 1显示由-Path参数指定的目录内容和子目录的一级。
评论前必须登录!
注册