PowerShell 7中Get-Command -CommandType Application有效扩展名全量查询
关于
Get-Command -CommandType Application支持的扩展名 Get-Command -CommandType Application实际匹配的可执行扩展名分为两类:
1. Windows系统注册的可执行扩展名
这些扩展名来自系统环境变量PATHEXT,Windows会将带有这些扩展名的文件视为可直接执行的程序。默认情况下包含:
.COM.EXE.BAT.CMD.VBS.VBE.JS.JSE.WSF.WSH.MSC
你可以在PowerShell中执行$env:PATHEXT查看当前系统的完整列表,这个变量的值支持自定义修改,新增的扩展名也会被Get-Command识别。
2. PowerShell原生脚本扩展名
PowerShell会额外将自身的脚本文件视为Application类型命令,即使它们不在PATHEXT中,常见的包括:
.ps1(PowerShell脚本).psm1(PowerShell模块脚本).psd1(PowerShell模块清单)
关于文档中的误差
官方文档提到的.txt属于明显错误,.txt是纯文本文件,无法直接被Get-Command识别为可执行应用;而.dll通常是动态链接库,只有当它是可执行的控制台DLL(如某些特殊工具)或通过系统注册为可执行时才会被匹配,这属于非常特殊的场景,并非普遍情况。
内容的提问来源于stack exchange,提问作者fmotion1
相关产品推荐
相关产品推荐

