Board logo

标题: [问题求助] PowerShell获取系统中安装的浏览器的exe路径 [打印本页]

作者: 小白龙    时间: 2024-11-11 04:53     标题: PowerShell获取系统中安装的浏览器的exe路径

我想获取系统中安装的edge和chrome浏览器的exe文件的路径, 使用gpt问了十几轮, 都没有搞到稳定的方法, 求路过大佬支招
方法3可以, 但是在自定义安装路径时就不行了, 方法4不行, 而且太慢了
Gpt的方法有如下:
1.不行!
  1. # 查找 Google Chrome 的安装路径
  2. $chromePath = Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\Google Chrome" -Name "InstallLocation" -ErrorAction SilentlyContinue
  3. if ($chromePath) {
  4.     Write-Host "Google Chrome 安装路径: $($chromePath.InstallLocation)\chrome.exe"
  5. }
  6. # 查找 Microsoft Edge 的安装路径
  7. $edgePath = Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft Edge" -Name "InstallLocation" -ErrorAction SilentlyContinue
  8. if ($edgePath) {
  9.     Write-Host "Microsoft Edge 安装路径: $($edgePath.InstallLocation)\msedge.exe"
  10. }
复制代码
2.不行!
  1. # 查找 Google Chrome 的路径
  2. $chrome = Get-Command chrome -ErrorAction SilentlyContinue
  3. if ($chrome) {
  4.     Write-Host "Google Chrome 的路径: $($chrome.Source)"
  5. }
  6. # 查找 Microsoft Edge 的路径
  7. $edge = Get-Command msedge -ErrorAction SilentlyContinue
  8. if ($edge) {
  9.     Write-Host "Microsoft Edge 的路径: $($edge.Source)"
  10. }
复制代码
3.可以, 但是有时用户会自定义安装目录, 就不行了
  1. # 检查是否存在 Google Chrome
  2. if (Test-Path "C:\Program Files\Google\Chrome\Application\chrome.exe") {
  3.     Write-Host "Google Chrome 路径: C:\Program Files\Google\Chrome\Application\chrome.exe"
  4. }
  5. # 检查是否存在 Microsoft Edge
  6. if (Test-Path "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe") {
  7.     Write-Host "Microsoft Edge 路径: C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
  8. }
复制代码
4.不行!
  1. # 使用 WMI 查询安装的程序
  2. $installedApps = Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -match "chrome|firefox|msedge|iexplore" }
  3. foreach ($app in $installedApps) {
  4.     Write-Host "$($app.Name) 安装路径: $($app.InstallLocation)\$($app.Name).exe"
  5. }
复制代码

作者: czjt1234    时间: 2024-11-11 10:14

这个edge的路径,好像是各个版本的win10中都不同
有个思路是综合以上的各种判断方法
比如先读取桌面edge快捷方式,如果桌面没有就读取开始菜单里的edge快捷方式
再没有就读取快速启动栏,或固定在任务栏的
最后再到注册表去读
作者: flashercs    时间: 2024-11-11 12:47

  1. Get-ChildItem -Path @('HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall',
  2.   'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall',
  3.   'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall',
  4.   'HKCU:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall') -ErrorAction SilentlyContinue | `
  5.   Get-ItemProperty -Name DisplayName, DisplayVersion, InstallLocation, UninstallString -ErrorAction SilentlyContinue |`
  6.   Where-Object { $_.DisplayName -eq "Microsoft Edge" } | Format-List -Property DisplayName, DisplayVersion, InstallLocation, UninstallString
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2