使用 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