迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

使用 PowerShell 获取文件扩展名

作者:迹忆客 最近更新:2024/02/06 浏览次数:

在处理 PowerShell 脚本时,通常需要从完整路径中提取文件名。例如,你的脚本收到了完整的文件路径,而你只想获取文件扩展名。

本文将讨论几种使用 PowerShell 脚本的文件扩展方法。


在 PowerShell 中使用 Split-Path 获取文件扩展名

要从文件名中分离扩展名,我们可以使用 -Leaf 参数来指示我们将在哪里提取扩展名。叶是路径的最后一个元素或一部分。

$filePath = "C:\temp\subfolder\File1.txt";
$extension = (Split-Path -Path $filePath -Leaf).Split(".")[1];
Write-Output $extension

输出:

txt

你可能会注意到,在我们的代码片段中,我们调用了 Split() 函数来拆分提供的路径。

我们使用点 . 作为分隔符,因为文件名和扩展名由点分隔符分隔。然后我们将存储的扩展值称为数组 [1]

尝试调用数组 [0],你将获得路径的文件名。

示例代码:

(Split-Path -Path $filePath -Leaf).Split(".")[0];

输出:

File1

由于我们使用点字符作为分隔符,因此此方法仅在你的文件名不包含任何其他点时才有效。请记住,点字符可以在文件名中。


在 PowerShell 中使用 Get-ChildItem Cmdlet 获取文件扩展名

Get-ChildItem 命令在一个或多个指定位置获取项目。例如,如果对象是一个容器,它会获取该容器内的东西,称为子项。

位置可以是文件系统,例如目录,也可以是由不同的 Windows PowerShell 提供程序公开的站点。Get-ChildItem 命令获取文件系统驱动器中的目录、子目录和文件。

由于 Get-ChildItem cmdlet 处理文件,它有一个 PowerShell 属性属性,我们可以导出该属性以获取查询文件的扩展名。

Split-Path cmdlet 不同,即使文件名中有点字符,此方法也可以正确发送扩展名。

示例代码:

Get-ChildItem 'C:\temp\file.1.txt' | Select Extension

输出:

Extension
---------
.txt

在 PowerShell 中使用 .NET 框架获取文件扩展名

以下方法基于 .NET 框架类。尽管通常不鼓励在 PowerShell 脚本上使用 .NET 框架类,尤其是在本机 PowerShell 命令可用的情况下,但它可能适合此特定用例。

在下面的示例中,如果给定文件名,我们将使用 System.IO.Path 类中的 GetExtension 静态方法:

示例代码:

[System.IO.Path]::GetExtension("File1.txt")

输出:

.txt

如果我们想获取文件名,我们也可以使用 GetFileNameWithoutExtension 静态方法。

示例代码:

[System.IO.Path]::GetFileNameWithoutExtension("File1.txt")

输出:

File1

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

使用 PowerShell 获取磁盘空间信息

发布时间:2024/02/06 浏览次数:189 分类:编程语言

本文讨论了几个命令,这些命令将导出我们所有系统驱动器的信息,并了解如何使用 PowerShell 确定我们机器中剩余的驱动器空间。

在 PowerShell 中将项目添加到数组

发布时间:2024/02/06 浏览次数:153 分类:编程语言

本教程将教你在 PowerShell 中将项目添加到数组中。本教程将介绍在 PowerShell 中向数组添加项目。使用 += 将项目添加到 PowerShell 中的数组

在 PowerShell 中访问 $args 数组

发布时间:2024/02/06 浏览次数:155 分类:编程语言

本文将介绍 PowerShell 中的 $args 数组和 $args[] 函数。$args 是一个数组,因此你可以传递多个值并在 PowerShell 脚本或函数中访问它们。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便