從 PowerShell 中的檔名中刪除路徑和副檔名

Rohan Timalsina 2023年1月30日
  1. 在 PowerShell 中使用 BaseName 屬性從檔名中刪除路徑和副檔名
  2. 使用 .NET 類從 PowerShell 中的檔名中刪除路徑和副檔名
從 PowerShell 中的檔名中刪除路徑和副檔名

PowerShell 支援處理系統中的各種檔案操作。你可以在 PowerShell 中執行建立、複製、移動、重新命名、編輯、刪除和檢視檔案等任務。

PowerShell 中有不同的 cmdlet,可用於獲取檔案的名稱完整路徑副檔名。在處理系統中的檔案時,你可能需要獲取不帶路徑和副檔名的檔名。

本教程將教你從 PowerShell 中的檔名中刪除路徑和副檔名。

在 PowerShell 中使用 BaseName 屬性從檔名中刪除路徑和副檔名

cmdlet Get-Item 在指定位置獲取專案。它顯示指定檔案的 DirectoryModeLastWriteTimeLengthName

命令:

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 中獲取不帶路徑和副檔名的檔名的不同方法。

作者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

相關文章 - PowerShell File