当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 PowerShell 中获取不带扩展名的文件名 [3 种方法]

作者:精品下载站 日期:2024-12-14 05:23:14 浏览:16 分类:玩电脑

在 PowerShell 中获取不带扩展名的文件名 [3 种方法]


? 快速解答 您可以在 PowerShell 中使用 BaseName 属性和 Get-Item cmdlet 获取不带扩展名的文件名。

电源外壳:

(Get-Item C:\temp\sample.txt).BaseName

输出:

输出 :

sample

在Windows操作系统上工作时,您可能经常遇到获取不带扩展名的文件名的需求。

例如:

在这篇文章中,我们将看到在 PowerShell 中获取不带扩展名的 FileName 的各种方法。

获取单个文件的不带扩展名的文件名

将 BaseName 属性与 Get-Item cmdlet 结合使用

要在 powershell 中获取不带扩展名的文件名,可以使用 Get-Item cmdlet 获取指定位置的项目,然后使用 BaseName 属性获取不带扩展名的文件名。

电源外壳:

PS> (Get-Item C:\temp\sample.txt).BaseName

输出 :

输出 :

sample

这里,Get-Item cmdlet 用于获取指定位置的项目。这将显示特定文件的名称、长度、模式、最后写入时间和目录。

这里的命令是;

电源外壳:

PS>  Get-Item sample.txt

输出:

输出 :

    Directory: C:\Users\Arpit

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        25-08-2021     13:11             33 sample.txt

BaseName 属性与 Get-Item 一起帮助您获取不带扩展名的文件名。

如果文件不存在,则会出现如下错误:

电源外壳:

PS> (Get-Item sample3.txt).BaseName

输出:

输出 :

Get-Item : Cannot find path 'C:\Users\Arpit\sample3.txt' because it does not exist.
At line:1 char:2
+ (Get-Item sample3.txt).BaseName
+  ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Users\Arpit\sample3.txt:String) [Get-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand

使用 System.IO.Path 的 GetFileNameWithoutExtension() 方法

要从文件名中删除扩展名,您可以使用 System.IO.Path 的 GetFileNameWithoutExtension() 方法。在此方法中,您将在 PowerShell 中获得不带扩展名的文件名。

为此,请运行以下命令以获取位于 C:\User\rhtnm\test.txt 的文件名位置。

电源外壳:

PS> [System.IO.Path]::GetFileNameWithoutExtension('C:\User\rhtnm\test.txt')

输出:

输出 :

test

如果文件不存在,则此方法不会出现错误。

获取多个文件的不带扩展名的文件名

如果您希望在多个文件的情况下获取不带扩展名的文件名,请在 PowerShell 中使用 Get-ChildItem cmdlet 和 GetFileNameWithoutExtension()

这是 PowerShell 命令,用于获取多个文件的不带扩展名的 FileName

电源外壳:

PS> Get-ChildItem -Path C:\temp -Filter *.txt | ForEach-Object -Process {[System.IO.Path]::GetFileNameWithoutExtension($_)}

输出:

输出 :

Python
sample
sample1
text

在上面的 PowerShell 脚本中,Get-ChildItem 作为 cmdlet 可帮助您在使用过滤器获取 .txt 扩展名时获取指定的路径文件。 然后输出被传递给第二个命令。

第二个命令使用 ForEach-Object 迭代文件列表,并在每个文件上使用 System.IO.Path 的 GetFileNameWithoutExtension() 方法来获取不带扩展名的文件名。

结论

删除不带扩展名的文件名比以前更容易。我们讨论了 BaseName 属性与 Get-Itemcmdlet、.Net 类 System.IO.PathGetFileNameWithoutExtension()方法。我们还讨论了如何获取多个文件的不带扩展名的文件名。您可以有效地应用这些框架并获得不带扩展名的文件名。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯