迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 PowerShell 中获取文件的完整路径

作者:迹忆客 最近更新:2024/02/01 浏览次数:

PowerShell 有各种 cmdlet 来管理系统上的文件。你可以使用 PowerShell 创建、复制、移动、重命名和删除文件。

你还可以在 PowerShell 中搜索文件并检查文件是否存在。文件路径告诉文件在系统上的位置。本教程将介绍不同的方法来获取 PowerShell 中文件的完整路径。


在 PowerShell 中使用 Get-ChildItem 获取文件的完整路径

Get-ChildItem cmdlet 显示指定位置的文件和目录列表。你可以使用 -Recurse 参数以递归方式列出所有文件和目录。

它还显示子目录及其文件。它有助于在 PowerShell 中进行递归文件搜索。

这是递归文件搜索的示例:

Get-ChildItem -Path C:\New -Filter test.txt -Recurse

上面的命令递归地在位置 C:\New 上搜索文件 test.txt。它检查给定位置内的所有目录和子目录,如果找到则显示文件的详细信息。

输出:

    Directory: C:\New\complex


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        12/16/2021   7:29 AM            198 test.txt

如你所见,文件 test.txt 位于目录 C:\New\complex 中。它显示文件的 PathModeLastWriteTimeLengthName

你可以通过将命令传送到 %{$_.FullName} 来获取文件的完整路径。

Get-ChildItem -Path C:\New -Filter test.txt -Recurse | %{$_.FullName}

输出:

C:\New\complex\test.txt

你可以使用*.txt-Filter 参数来获取位置 C:\New 上具有 .txt 扩展名的所有文件。

Get-ChildItem -Path C:\New -Filter *.txt -Recurse | %{$_.FullName}

输出:

C:\New\complex\test.txt
C:\New\record\book.txt
C:\New\record\data.txt

或者,你可以使用此命令在指定位置获取所有具有 .txt 扩展名的文件及其路径。

Get-ChildItem -Path C:\New -Recurse | where {$_.extension -eq ".txt"} | %{$_.FullName}

在 PowerShell 中使用 Select-Object 获取文件的完整路径

将使用类似的方法,但我们将使用 Select-Object cmdlet 和 Get-ChildItem 命令来获取 PowerShell 中文件的完整路径。Select-Object cmdlet 选择一个对象或一组对象的指定属性。

Get-ChildItem -Path C:\New -Filter *.txt -Recurse | Select-Object -ExpandProperty FullName

输出:

C:\New\complex\test.txt
C:\New\record\book.txt
C:\New\record\data.txt

在 PowerShell 中使用 Format-Table 获取文件的完整路径

同样,你可以使用 Format-Table 在 PowerShell 中获取文件的完整路径。Format-Table cmdlet 将输出格式化为具有选定对象属性的表格。

Get-ChildItem -Path C:\pc -Filter car.png -Recurse | Format-Table FullName

输出:

FullName
--------
C:\pc\computing\task4\car.png

在 PowerShell 中使用 foreach 循环获取文件的完整路径

foreach 循环在 PowerShell 中也称为 foreach 语句。它是一种语言结构,用于循环遍历数组、对象、字符串、数字等集合中的一系列值。你可以在 foreach 循环中对数组中的每个项目执行一个或多个命令。

以下是如何使用 foreach 循环在 PowerShell 中获取文件的完整路径。

Get-ChildItem -path C:\New\*.txt -Recurse | foreach { "$_" }

输出:

C:\New\complex\test.txt
C:\New\record\book.txt
C:\New\record\data.txt

上述命令不适用于 -Filter 参数。你可以通过管道连接到中间的 Get-Item cmdlet 以使用 -Filter 参数。

Get-ChildItem -Path C:\New -Filter *.txt -Recurse | Get-Item | foreach { "$_" }

输出:

C:\New\complex\test.txt
C:\New\record\book.txt
C:\New\record\data.txt

Get-ChildItem 具有内置别名 lsdirgci。你可以使用任何句柄代替 Get-ChildItem cmdlet 来运行上述所有命令。

例如:

gci -Path C:\New -Filter *.txt -Recurse | %{$_.FullName}

输出:

C:\New\complex\test.txt
C:\New\record\book.txt
C:\New\record\data.txt

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

使用 PowerShell 获取磁盘空间信息

发布时间:2024/02/06 浏览次数:189 分类:编程语言

本文讨论了几个命令,这些命令将导出我们所有系统驱动器的信息,并了解如何使用 PowerShell 确定我们机器中剩余的驱动器空间。

在 PowerShell 中将项目添加到数组

发布时间:2024/02/06 浏览次数:153 分类:编程语言

本教程将教你在 PowerShell 中将项目添加到数组中。本教程将介绍在 PowerShell 中向数组添加项目。使用 += 将项目添加到 PowerShell 中的数组

在 PowerShell 中访问 $args 数组

发布时间:2024/02/06 浏览次数:155 分类:编程语言

本文将介绍 PowerShell 中的 $args 数组和 $args[] 函数。$args 是一个数组,因此你可以传递多个值并在 PowerShell 脚本或函数中访问它们。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便