在 PowerShell 中获取文件的完整路径
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
中。它显示文件的 Path
、Mode
、LastWriteTime
、Length
和 Name
。
你可以通过将命令传送到 %{$_.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
具有内置别名 ls
、dir
和 gci
。你可以使用任何句柄代替 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
相关文章
在 Windows PowerShell 中获取命令行参数
发布时间:2024/03/04 浏览次数:358 分类:编程语言
-
本文将解释我们如何使用 PowerShell 的参数函数处理命令行参数,参数如何工作,我们如何使用 PowerShell 参数将值传递给参数,以及定义参数的基本方法是什么。
Windows PowerShell 中的 Base64 编码
发布时间:2024/03/04 浏览次数:332 分类:编程语言
-
本文将展示如何编码和解码 base64 字符串。Windows PowerShell 当前版本没有本机命令,因此我们将向你展示如何执行此操作的替代方法。
在 Windows PowerShell 中写入输出
发布时间:2024/03/04 浏览次数:259 分类:编程语言
-
本文将向你展示如何在 Windows PowerShell 中编写或打印输出。本文还将区分多个 write cmdlet 并解释它们的意义。
在 Windows PowerShell 中设置 PATH 环境变量
发布时间:2024/03/04 浏览次数:350 分类:编程语言
-
本文将展示在 Windows PowerShell 中设置路径环境变量的正确方法。本文还展示了如何在持久性和非持久性方法中设置变量。
在 Windows PowerShell 中打印环境变量
发布时间:2024/03/04 浏览次数:869 分类:编程语言
-
本文将讨论什么是环境变量以及如何使用多个 Windows PowerShell 命令打印它们。
在 PowerShell 中注释代码
发布时间:2024/03/04 浏览次数:363 分类:编程语言
-
本文将展示在 Windows PowerShell 中注释代码的多种方法。本文还介绍了注释代码时的一些最佳实践。
在 PowerShell 中执行 LDAP 查询
发布时间:2024/03/04 浏览次数:304 分类:编程语言
-
本文将深入了解如何使用 Active Directory 过滤器和 LDAP 过滤器。