使用 PowerShell 从路径中提取文件名
文件路径告诉文件在系统上的位置。在 PowerShell 中处理文件时,你可能只需要从路径中获取文件名。
在 PowerShell 中有多种方法可以获取文件的路径。本教程将教你使用 PowerShell 从文件路径中提取文件名。
在 PowerShell 中使用 Split-Path
Cmdlet 从路径中提取文件名
Split-Path
cmdlet 在 PowerShell 中显示给定路径的指定部分。路径的一部分只能是父文件夹、子文件夹、文件名或文件扩展名。
要提取带有扩展名的文件名,请使用带有 -Leaf
参数的 Split-Path
命令。
Split-Path C:\pc\test_folder\hello.txt -Leaf
输出:
hello.txt
要获取不带扩展名的文件名,可以使用 -LeafBase
参数。此参数仅在 PowerShell 6.0 或更高版本中可用。
Split-Path C:\pc\test_folder\hello.txt -LeafBase
输出:
hello
在 PowerShell 中使用 GetFileName
方法从路径中提取文件名
.NET 的 Path 类的 GetFileName
方法返回指定路径的文件名和扩展名。
以下示例显示路径 C:\pc\test_folder\hello.txt
中的文件名和扩展名。
[System.IO.Path]::GetFileName('C:\pc\test_folder\hello.txt')
输出:
hello.txt
你可以使用 GetFileNameWithoutExtension
方法仅提取不带扩展名的文件名。
[System.IO.Path]::GetFileNameWithoutExtension('C:\pc\test_folder\hello.txt')
输出:
hello
在 PowerShell 中使用 Get-Item
Cmdlet 从路径中提取文件名
Get-Item
cmdlet 在指定位置提取项目。如果项目存在于指定路径,则返回文件的 Directory
、Mode
、LastWriteTime
、Length
和 Name
。
Get-Item C:\pc\test_folder\hello.txt
输出:
Directory: C:\pc\test_folder
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 09-06-2022 21:43 18 hello.txt
你可以将 .Name
添加到上述命令的末尾以仅返回带有扩展名的文件名。
(Get-Item C:\pc\test_folder\hello.txt).Name
输出:
hello.txt
要仅获取不带扩展名的文件名,请指定 .BaseName
属性。
(Get-Item C:\pc\test_folder\hello.txt).BaseName
输出:
hello
此方法也适用于 Get-ChildItem
cmdlet。
(Get-ChildItem C:\pc\test_folder\hello.txt).Name
(Get-ChildItem C:\pc\test_folder\hello.txt).BaseName
输出:
hello.txt
hello
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。