当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南

作者:精品下载站 日期:2024-12-14 04:56:13 浏览:14 分类:玩电脑

PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南


[玩转系统] PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南

PowerShell Get-ChildItem 简介

PowerShell 中的 Get-ChildItem 的工作方式类似于 Windows 命令提示符中的 dir 命令。它可用于从指定位置检索数据。在 PowerShell 子文件夹中,文件或注册表称为子项。如果你想从子容器中检索项目,那么你需要使用 -Recurse 参数。类似于cmd中的dir /s。

位置可以是文件系统位置,例如本地目录、共享路径目录、注册表配置单元或证书存储。当您将 Get-ChildItem 用于系统驱动器时,它将检索目录、子目录和文件,但当您将它用于目录时,它将检索其下的子目录和文件。它的别名是 gci。

语法#1:

Get-ChildItem
[[-Path] <string[]>]
[[-Filter] <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Recurse]
[-Depth <uint32>]
[-Force]
[-Name]
[-Attributes <FlagsExpression[FileAttributes]>]
[-FollowSymlink]
[-Directory]
[-File]
[-Hidden]
[-ReadOnly]
[-System]
[<CommonParameters>]

语法#2:

Get-ChildItem
[[-Filter] <string>]
-LiteralPath <string[]>
[-Include <string[]>]
[-Exclude <string[]>]
[-Recurse]
[-Depth <uint32>]
[-Force]
[-Name]
[-Attributes <FlagsExpression[FileAttributes]>]
[-FollowSymlink]
[-Directory]
[-File]
[-Hidden]
[-ReadOnly]
[-System]
[<CommonParameters>]

PowerShell Get-ChildItem 的参数

以下是 PowerShell Get-ChildItem 的参数解释:

1) -属性 : 此参数获取具有指定属性的文件和文件夹。使用此参数时,您可以指定复杂的属性组合。

示例:

  • 获取加密的系统文件。
Get-ChildItem -Attributes System+Encrypted
  • 获取加密或压缩的非系统文件(不是目录)。
Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed

运算符与其属性之间不能使用空格,但逗号前允许有空格。 Attribute 参数支持以下属性。

Archive

离线

Compressed

ReadOnly

Device

ReparsePoint

Directory

SparseFile

Encrypted

系统

Hidden

暂时的

Normal

未内容索引

以下运算符可用于组合属性:

!

不是

+

,

或者

属性使用以下缩写:

  • D:目录
  • H:隐藏
  • R:只读
  • S:系统

2) -Directory: 使用 -Directory 参数时,您将仅获得目录(文件夹)作为子项,这将排除显示文件。要排除目录,请使用 -file 属性。它的别名是“d”或“ad”,取决于文件系统提供商。

3) -File: 文件属性仅提供该容器下文件的输出。要排除文件,您需要使用 -Directory 参数。它的别名是“af”。

4) -隐藏: 默认情况下,Get-ChildItem 显示非隐藏文件和文件夹。如果要显示所有文件和文件夹(包括隐藏的文件和文件夹),请使用 -Force 参数。当您使用 -Hidden 参数时,它将仅显示隐藏的文件和文件夹。它的别名是“h”或“ah”,取决于文件系统提供商。

5) -只读: 它将仅显示只读文件和文件夹(目录)。它的别名是“ar”。

6) -系统: 此属性将仅显示系统文件和文件夹。它的别名是“as”。

7) -强制: 此属性将提供所有文件和文件夹,包括隐藏的文件和文件夹。默认情况下,不包括隐藏文件和文件夹。我们还可以通过 -hidden 参数获取隐藏文件和目录。

8) -UseTransaction: 将命令包含在活动事务中。该参数在当前交易进行时有效。要了解有关事务的更多信息,请查看 PowerShell about_Transactions 中的帮助。

9) -Depth: 此参数用于控制目录的递归。默认情况下,Get-ChildItem 为您提供父文件和文件夹,当您使用递归时,它提供所有子目录及其内容,但当您使用 Depth 参数时,您可以获得子目录及其内容的确切级别。

例如,当您提供深度级别 2 时,它会从其第一级子目录和第二级子目录中获取内容。当您使用 -Depth 参数时 - 不需要 Recurse 参数。该参数是在Powershell 5.0中引入的。

10) -Exclude: 这是一个字符串参数,在 -Exclude 之后指定时可以从路径中排除文件、目录、扩展名等。您可以使用通配符,例如*.txt、Test*。

11) -包含:这是一个字符串参数,使用此参数时,它会显示特定的文件和文件夹。例如,如果包含 *.txt,则它将仅显示文本文件。您可以包含多个选择。例如,*.txt、*.mp4 都可以包含,并用逗号(,)分隔。

12) -Filter:您还可以使用-filter参数过滤路径。过滤参数比包含参数更有效,因为它在查询时检索对象,而其他参数在查询后检索。该参数支持通配符。文件系统提供程序是唯一支持使用过滤器的 PowerShell 提供程序。

13) -Path: 此参数指定一个或多个位置的路径。您可以在路径中使用通配符,如果未指定位置,则将当前位置作为默认位置。

14) -LiteralPath: 此参数指定一个或多个位置的路径。与 -path 参数不同,您不能在此处指定通配符,因为该参数无法将字符解释为通配符。如果您的路径包含任何转义字符,请将它们标记在单引号下,PowerShell 会将其视为单个路径。

15) -Name: 此参数从 Get-ChildItem 输出中检索项目的唯一名称,而不是目录路径、模式、LastWriteTime 等。

16) -CommonParameters: 使用以下常用参数,也称为高级函数的参数。详细、调试、ErrorAction、ErrorVariable、WarningAction、WarningAction、WarningVariable、OutBuffer、PipelineVariable 和 OutVariable。

Get-ChildItem 支持的属性和操作

以下是 Get-ChildItem 支持的属性和操作,解释如下:

1.目录属性

[玩转系统] PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南

2.文件属性

[玩转系统] PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南

3.目录方法

[玩转系统] PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南

4.文件方法

[玩转系统] PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南

PowerShell Get-ChildItem 示例

以下是 PowerShell Get-ChildItem 的一些示例:

示例 #1 - 父文件和文件夹

下面的脚本将显示父文件和文件夹。

Get-ChildItem -Path D:\Temp

输出:

[玩转系统] PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南

示例 #2 - 递归参数

下面的脚本将显示子文件和文件夹内容,但不显示隐藏文件。

Get-ChildItem -Path D:\Temp -Recurse

输出:

[玩转系统] PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南

示例 #3 - 深度参数

下面的脚本将显示最多 2 级的子文件和文件夹内容,即子文件夹及其子文件夹及其内容。

Get-ChildItem -Path D:\Temp -Recurse -Depth 2

输出:

[玩转系统] PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南

示例 #4 - 隐藏参数

下面的脚本将仅显示给定路径中的隐藏文件。

Get-ChildItem -Path D:\Temp -Recurse -Hidden

输出:

[玩转系统] PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南

示例 #5 - 包含参数

下面的脚本将包含扩展名为 *.xml 的所有文件

Get-ChildItem -Path D:\Temp -Recurse -Include *.xml

输出:

[玩转系统] PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南

示例 #6 - 排除参数

下面的脚本将排除以 S 开头的文件和文件夹。

Get-ChildItem -Path D:\Temp -Exclude S*

输出:

[玩转系统] PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南

示例 #7 - 力参数

下面的脚本将显示子文件和文件夹的内容以及隐藏文件。

Get-ChildItem -Path D:\Temp -Depth 1 -Force

输出:

[玩转系统] PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南

示例 #8 - 属性参数

下面的脚本将排除目录并检查隐藏文件。同样,您可以组合不同的属性以获得所需的结果。

Get-ChildItem d:\Temp -Recurse -Attributes !Directory,!Directory+Hidden

输出:

[玩转系统] PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南

示例 #9 - 名称参数

下面的脚本将仅显示文件和文件夹的名称,不包括其他参数。

Get-ChildItem d:\Temp -Recurse -Attributes !Directory,!Directory+Hidden -Name

输出:

[玩转系统] PowerShell 获取子项 | PowerShell Get-ChildItem 的完整指南

示例 #10 - 注册表值

您还可以检索各种注册表值,如下所示。

Get-ChildItem -Path Registry::HKEY_LOCAL_MACHINE
Get-ChildItem -Path Registry::HKEY_CLASSES_ROOT
Get-ChildItem -Path Registry::HKEY_CURRENT_CONFIG
Get-ChildItem -Path Registry::HKEY_CURRENT_USER
Get-ChildItem -Path Registry::HKEY_USERS
Get-ChildItem -Path Registry::HKEY_PERFORMANCE_DATA

示例 #11 - 证书

要获取要使用以下命令的所有证书。

Get-ChildItem -Path Cert:\* -Recurse

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯