使用 PowerShell 从路径中提取文件名
Rohan Timalsina
2023年1月30日
-
在 PowerShell 中使用
Split-Path
Cmdlet 从路径中提取文件名 -
在 PowerShell 中使用
GetFileName
方法从路径中提取文件名 -
在 PowerShell 中使用
Get-Item
Cmdlet 从路径中提取文件名
文件路径告诉文件在系统上的位置。在 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
作者: Rohan Timalsina