📜  PowerShell Get-childItem

📅  最后修改于: 2021-01-08 02:01:51             🧑  作者: Mango

PowerShell Get-childItem

Get-ChildItem cmdlet可以在一个或多个位置获取项目和子项目。如果项目是容器,则它将项目放入容器内,称为子项目。位置可以是注册表配置单元,文件系统注册表或证书存储。

此cmdlet不会显示空目录。 gci,dir,ls是此cmdlet的别名。

使用-Recurse参数获取所有子容器中的项目,并使用-Depth参数限制要递归的级别数。

句法

Get-ChildItem
[[-Path] ] 
[[-Filter] ]
[-Recurse] 
[-Depth ] 
[-Include ] 
[-Exclude ]
[-Name] 
[-Force] [-Directory] 
[-Attributes ][-FollowSymlink] 
[-File]
[-Hidden]
[-System]
[-ReadOnly]
[]

参量

-属性

此参数获取具有指定属性的文件和文件夹,它支持所有属性,并允许您指定属性的复杂组合。

此参数支持以下属性:

  • 存档,设备,目录,已加密,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 '。

只有当小命令包括项的内容,如该参数为有效的“C:\的Windows \ *”,其中字符“*”指定了C的含量:\ Windows目录。

-文件

-File参数用于获取文件列表。我们还可以将-Recurse参数与-File一起使用。

-过滤

-Filter参数指定用于限定-Path参数的过滤器。此参数比其他参数更有效,因为提供程序在cmdlet检索对象时应用它们,而不是让PowerShell在检索对象后对其进行过滤。筛选器的字符串传递给.NET API以枚举文件,并且该API支持?*通配符。

-力

-Force参数允许我们获取用户无法访问的项目,例如系统文件或隐藏文件。此参数不会覆盖文件/安全权限。

-隐

-Hidden参数或具有Hidden属性的-attribute参数仅用于获取隐藏项。

-路径

-Path参数用于指定一个或多个位置的路径。默认位置是当前目录' '。允许使用通配符。

文学路径

-LiteralPath参数还用于指定一个或多个位置的路径。与-Path参数不同,此参数的值将按键入时的原样使用。如果路径包含任何转义字符,则将其用引号引起来。没有字符被解释为通配符。单引号指示Windows PowerShell不要将任何字符解释为转义序列。

-名称

-Name参数用于仅检索位置中项目的名称。此参数的输出是一个字符串对象,可以将其沿管道发送到其他命令。通配符的字符被接受。

-递归

-Recurse参数用于获取指定位置中的项目以及该位置的所有子项目。

-系统

-System参数或-Attribute参数与System属性一起使用,仅获取系统文件和目录。

-只读

使用-ReadOnly参数或-Attribute参数与只读属性,仅保留只读项。

-跟随符号链接

-FollowSymlink参数用于搜索以那些符号链接为目标的目录。它是一个动态参数。它仅在FileSystem提供程序中受支持。

例子

示例1:在当前位置获取子项

在此示例中,此cmdlet(get-childItem)获取当前目录或位置中的子项。它显示所有文件和子目录名称。如果某项没有子项,则此cmdlet将不返回任何输出,并返回到PowerShell提示符。

默认情况下,此cmdlet列出模式,LastWriteTime,文件的大小(长度)以及项目的名称。

例2:获取给定路径的子项

本示例显示使用-Path参数在cmdlet中给定路径的子项。

示例3:获取给定目录或位置中子项的名称

本示例通过使用-Name参数仅显示给定目录中项目或文件的名称。此cmdlet使用-Path参数指定目录。

示例4:获取当前目录及其子目录中的子项

本示例使用带有-Recurse参数的cmdlet get-childItem搜索当前目录及其子目录。

示例5:使用深度参数获取物品

本示例使用-Depth参数来确定递归中包含的子目录级别的数量。那些空目录从输出中排除。

cmdlet get-chilItem使用-Path参数指定C:\ users 。 -Depth参数指定两个递归级别。

cmdlet get-childItem -Path c:\ users -Depth 1显示由-Path参数指定的目录内容和子目录的一级。