从 PowerShell 中的文件名中删除路径和扩展名

Rohan Timalsina 2023年1月30日 2022年5月16日
  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 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