首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerShell在$env:Path中检查.EXE

PowerShell在$env:Path中检查.EXE
EN

Stack Overflow用户
提问于 2021-05-18 17:51:15
回答 1查看 52关注 0票数 0

解决了

感谢马蒂亚斯·R·耶森的建议。

下午好,我正在编写一个脚本来检查是否安装了软件,如果安装了,我将提取它们的版本信息。它工作在它的基本形式,只是拉动信息,但它会抛出一个错误的任何东西没有安装。我试图将一些逻辑融入其中,这样它就会抛出特定的软件,而不是安装错误消息。下面是我试图使用的代码。通过这个脚本将所有软件的路径添加到$env:Path中。

编辑代码

通过将Test-Path更改为Get-Command并向两个Get-Command节添加-ErrorAction SilentlyContinue来解决问题。

代码语言:javascript
复制
$Env:Path += ";C:\Program Files (x86)\VMware\VMware Workstation\"
$Env:Path += ";C:\Program Files (x86)\VMware\VMware Remote Console\"
$Env:Path += ";C:\Program Files (x86)\VMware\esxcli\"
$Env:Path += ";C:\Program Files\VMware\VMware OVF Tool\"
$Env:Path += ";C:\Program Files (x86)\Microsoft\Edge\Application\"
$Env:Path += ";C:\Program Files\Mozilla Firefox\"

$apps = @("ovftool","vmrc","vmware","msedge","firefox")

ForEach ($app in $apps) {
    If(Get-Command $app -ErrorAction SilentlyContinue){
        (Get-Command $app -ErrorAction SilentlyContinue).FileVersionInfo|Select-Object ProductName, ProductVersion |Format-Table -AutoSize
    }else{
        Write-Output "$app is not installed"
    }
}
EN

回答 1

Stack Overflow用户

发布于 2021-05-18 18:11:03

您可以尝试使用GetExtenion

代码语言:javascript
复制
 if ([IO.Path]::GetExtension($app) -eq ".exe") 
    {
        # file has .exe extension
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67591505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档