Get-ChildItem Cmdlet以循环文件和结果

Get-ChildItem 是由Powershell提供的非常有用的cmdlet。此cmdlet有两个主要用途。一种是,如果将目录作为参数提供,则给定的目录文件和文件夹将像循环一样枚举。其次,如果提供了一个列表或容器,那么我们将枚举所有子级。 让我们开始行动来了解细节。

null

语法

语法如下。

Get-ChildItem OPTIONS PATH
  • 用于不同行为的选项
  • 路径用于指定不带任何选项的路径。

救命

我们可以打印有关 Get-ChildItem cmdlet如下所示。我们将使用 Get-Help 用于打印有关的帮助信息的cmdlet Get-ChildItem .

PS> Get-Help Get-ChildItem
Help
救命

列出当前目录中的所有文件和文件夹

我们将从一个简单的示例开始,在这个示例中,我们不为 Get-ChildItem cmdlet。这将打印当前工作目录中的所有文件和文件夹。

PS> Get-ChildItem
List All Files And Folders In Current Directory
列出当前目录中的所有文件和文件夹

我们可以看到提供了以下信息。

  • 读、写、执行等模式
  • 最后写时间
  • 指定大小的长度
  • 姓名

仅显示给定的扩展名

在本例中,我们将只显示具有特定扩展名的文件。我们可以在cmdlet之后提供扩展。在本例中,我们将列出可以指定为 *.sys 就像下面一样。

PS> Get-ChildItem *.sys
Shown Only Given Extension
仅显示给定的扩展名

我们也可以使用 -Path 选项我们也可以提供如下扩展。

PS> Get-ChildItem -Path *.sys
Shown Only Given Extension
仅显示给定的扩展名

指定路径

默认值 行为 Get-ChildItem 正在当前工作目录上运行。如果要在不同的路径中运行此cmdlet,可以使用 -Path 选项。在本例中,我们将在 Windows 目录中的 C: 隔板 就像下面一样。使用双引号 将使路径规范更加稳定,因为路径中的空格可能会产生问题。

PS> Get-ChildItem -Path "c:Windows"
Specify Path
指定路径

递归列表

默认行为是列出要列出的当前工作目录或路径。如果我们想列出子文件和子文件夹,我们需要以递归的方式列出。我们可以使用 -Recurse 选项如下。

PS> Get-ChildItem -Recurse
List Recursively
递归列表

我们可以看到有些错误以红色打印,因为我们没有访问此路径的权限。

指定递归深度

通过指定递归,我们可以让 Get-ChildItem 命令列出所有子文件和子文件夹。  这意味着递归列表将转到100级(如果存在)。  这可能会产生一些性能或输出问题。我们可以使用 -Depth 选项。我们将提供一个像5这样的数字级别。在这个例子中,我们将只列出像下面这样的1的深度。

PS> Get-ChildItem -Recurse -Depth 2

排除某些文件

在列出时,我们可能需要根据文件名或扩展名排除一些文件。我们将使用 -Exclude 选项并提供文件或文件夹名称。在本例中,我们将根据其扩展名排除其中包含的文件 *.sys 分机。

PS> Get-ChildItem -Exclude "*.sys"

包括文件和扩展名

在根据文件名和扩展名排除某些文件的同时,我们还可以使用 -Include 选项。在本例中,我们将排除 *.tmp 扩展名,但包含名为 check 甚至连他们的分机都是 *.tmp .

PS> Get-ChildItem -Exclude "*.tmp" -Include "*check*"

列出所有注册表项

Get-ChildItem cmdlet可以通过使用 HKLM -Path 选项。我们可以列出所有注册表项如下。我们将在 Software 本例中的配置单元。

PS> Get-ChildItem -Path HKLM:Software
List All Registry Key
列出所有注册表项

列出所有证书

另一个有用的功能 Get-ChildItem cmdlet正在列出当前安装和使用的证书。我们将使用 -Path Cert 参数如下。

PS> Get-ChildItem -Path Cert:
List All Certificates
列出所有证书

仅列出文件和文件夹的名称

的默认行为 Get-ChildItem cmdlet正在列出文件名和其他属性,如大小、模式等。如果我们只想列出需要提供的文件名 -Name 选项如下。

PS> Get-ChildItem -Name
List Only Name of The Files and Folders
仅列出文件和文件夹的名称
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享