從 PowerShell 中的檔名中刪除路徑和副檔名
Rohan Timalsina
2023年1月30日
2022年5月16日
PowerShell 支援處理系統中的各種檔案操作。你可以在 PowerShell 中執行建立、複製、移動、重新命名、編輯、刪除和檢視檔案等任務。
PowerShell 中有不同的 cmdlet,可用於獲取檔案的名稱完整路徑和副檔名。在處理系統中的檔案時,你可能需要獲取不帶路徑和副檔名的檔名。
本教程將教你從 PowerShell 中的檔名中刪除路徑和副檔名。
在 PowerShell 中使用 BaseName
屬性從檔名中刪除路徑和副檔名
cmdlet Get-Item
在指定位置獲取專案。它顯示指定檔案的 Directory
、Mode
、LastWriteTime
、Length
和 Name
。
命令:
Get-Item test.txt
輸出:
Directory: C:\Users\rhntm
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 3/12/2022 7:36 PM 70 test.txt
你可以將 BaseName
屬性與 Get-Item
一起使用,以僅使用 Get-Item
獲取檔名。
(Get-Item test.txt).BaseName
輸出:
test
如果要刪除多個檔案中的路徑和副檔名,可以使用 Get-ChildItem
cmdlet。以下命令顯示如何在 PowerShell 中獲取多個不帶路徑和副檔名的檔名。
命令:
(Get-ChildItem "C:\Users\rhntm\*.txt").BaseName
輸出:
hello
new
record
test
上面的命令獲取目錄 C:\Users\rhtnm
中的所有 .txt
檔名。
使用 .NET
類從 PowerShell 中的檔名中刪除路徑和副檔名
以下方法使用 .NET
框架類從檔名中刪除路徑和副檔名。System.IO.Path
.NET 類具有 GetFileNameWithoutExtension()
方法,可在 PowerShell 中獲取不帶副檔名的檔名。
如果要獲取位於 C:\Users\rhntm\test.txt
的檔名,可以執行以下命令。
命令:
[System.IO.Path]::GetFileNameWithoutExtension("C:\Users\rhntm\test.txt")
輸出:
test
你還可以使用帶有 basename
屬性的 System.IO.FileInfo
類來獲取不帶副檔名的檔名。
命令:
([System.IO.FileInfo]"C:\Users\rhntm\test.txt").BaseName
輸出:
test
本文介紹了在 PowerShell 中獲取不帶路徑和副檔名的檔名的不同方法。
Author: Rohan Timalsina