使用 PowerShell 获取文件扩展名
在处理 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
相关文章
在 Windows PowerShell 中获取命令行参数
发布时间:2024/03/04 浏览次数:358 分类:编程语言
-
本文将解释我们如何使用 PowerShell 的参数函数处理命令行参数,参数如何工作,我们如何使用 PowerShell 参数将值传递给参数,以及定义参数的基本方法是什么。
Windows PowerShell 中的 Base64 编码
发布时间:2024/03/04 浏览次数:332 分类:编程语言
-
本文将展示如何编码和解码 base64 字符串。Windows PowerShell 当前版本没有本机命令,因此我们将向你展示如何执行此操作的替代方法。
在 Windows PowerShell 中写入输出
发布时间:2024/03/04 浏览次数:259 分类:编程语言
-
本文将向你展示如何在 Windows PowerShell 中编写或打印输出。本文还将区分多个 write cmdlet 并解释它们的意义。
在 Windows PowerShell 中设置 PATH 环境变量
发布时间:2024/03/04 浏览次数:350 分类:编程语言
-
本文将展示在 Windows PowerShell 中设置路径环境变量的正确方法。本文还展示了如何在持久性和非持久性方法中设置变量。
在 Windows PowerShell 中打印环境变量
发布时间:2024/03/04 浏览次数:869 分类:编程语言
-
本文将讨论什么是环境变量以及如何使用多个 Windows PowerShell 命令打印它们。
在 PowerShell 中注释代码
发布时间:2024/03/04 浏览次数:363 分类:编程语言
-
本文将展示在 Windows PowerShell 中注释代码的多种方法。本文还介绍了注释代码时的一些最佳实践。
在 PowerShell 中执行 LDAP 查询
发布时间:2024/03/04 浏览次数:304 分类:编程语言
-
本文将深入了解如何使用 Active Directory 过滤器和 LDAP 过滤器。