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

[玩转系统] 如何在 PowerShell 中仅列出文件名?

作者:精品下载站 日期:2024-12-14 05:10:09 浏览:14 分类:玩电脑

如何在 PowerShell 中仅列出文件名?


您可以在 PowerShell 中做一些疯狂的事情,其中之一就是仅获取文件名。在本文中,我将向您展示如何仅在 PowerShell 中列出文件名

要仅在 PowerShell 中列出文件名,可以将 Get-ChildItem cmdlet 与 -Name 参数结合使用。例如,Get-ChildItem -Path “C:\Your\Directory” -Name 输出指定目录中的所有文件名。要排除目录并仅列出文件,请附加 -File 参数,如下所示:Get-ChildItem -Path “C:\Your\Directory” -File -Name。

仅使用 Get-ChildItem Cmdlet 获取文件名

让我们尝试一下最简单的方法。

在 PowerShell 中列出文件的主要命令是 Get-ChildItem。此 cmdlet 检索一个或多个指定位置中的项目和子项目。要仅列出文件名,您可以以其最简单的形式使用此 cmdlet。

Get-ChildItem -Path "C:\MyFolder" -Name

-Path 参数指定目录,-Name 参数确保仅显示文件的名称,不包括大小、类型或修改日期等其他详细信息。

您可以在下面的屏幕截图中看到我使用 VS code 执行了脚本。

[玩转系统] 如何在 PowerShell 中仅列出文件名?

过滤掉目录

默认情况下,Get-ChildItem 会列出 PowerShell 中的文件和目录。如果您只想列出文件,可以使用 -File 参数过滤掉目录。

Get-ChildItem -Path "C:\MyFolder" -File -Name

此命令将返回不带扩展名的文件名列表,并且仅忽略文件夹名称。

获取不包括文件扩展名的文件名

如果要列出文件但排除其扩展名,可以在 PowerShell 中结合使用 Get-ChildItemForEach-Object cmdlet。

Get-ChildItem -Path "C:\MyFolder" -File | ForEach-Object { $_.BaseName }

此脚本列出指定目录中所有文件的基本名称(不带扩展名的文件名)。

[玩转系统] 如何在 PowerShell 中仅列出文件名?

仅递归获取文件名

要列出指定目录和所有子目录中的文件,请在 PowerShell Get-ChildItem cmdlet 中使用 -Recurse 参数。

Get-ChildItem -Path "C:\MyFolder" -Recurse -File -Name

该命令将列出所有文件名,包括目标目录下各级子目录中的文件名。

使用Where-Object进行高级过滤

对于更高级的方案,您可能需要根据某些条件(例如包含特定文本的文件名)过滤文件列表。 Where-Object cmdlet 可用于此目的。

这是完整的 PowerShell 脚本。

Get-ChildItem -Path "C:\MyFolder" -File | Where-Object { $_.Name -like '*myfile*' } | ForEach-Object { $_.Name }

结论

通过执行上述方法,您应该能够在 PowerShell 中列出文件名

最简单的方法是使用 Get-ChildItem PowerShell Cmdlet。

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

取消回复欢迎 发表评论:

关灯