从 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