gpt4 book ai didi

batch-file - 用于查找已安装浏览器列表的批处理文件

转载 作者:行者123 更新时间:2023-12-02 04:58:00 25 4
gpt4 key购买 nike

我需要通过运行 .bat 文件来检查任何 Windows 系统中的可用浏览器。批处理文件应该能够检查系统中是否安装了 Firefox 和 Chrome 或任何其他浏览器。否则我想打开默认浏览器。

if exist "C:\Program Files(x86)\Mozilla Firefox\firefox.exe" start firefox.exe

这是一种执行此操作的方法,但如果在其他某个位置完成安装,则无法使用。

最佳答案

我建议使用 HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet 键。它列出了已在系统上自行注册的 Web 浏览器客户端,并提供了默认设置以及在系统上的何处可以找到它们。

参见 http://msdn.microsoft.com/en-us/library/windows/desktop/dd203067(v=vs.85).aspx了解更多详情。

示例:

这只是我拼凑的一个例子来说明如何使用这些信息。根据需要或根据您的要求进行调整。

@echo off
setlocal EnableDelayedExpansion
:Menu
echo 32-bit
set "Count=1"
for /f "tokens=2,*" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Clients\StartMenuInternet" /ve 2^>nul') do set "Default=%%B"
for /f "skip=3 delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Clients\StartMenuInternet" 2^>nul') do (
if "%%~nxA"=="%Default%" (
echo !Count!. %%~nA [Default]
) else (
echo !Count!. %%~nA
)
set /a "Count+=1"
)
echo.
echo 64-bit if 32-bit above, else 32-bit
for /f "tokens=2,*" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet" /ve 2^>nul') do set "Default=%%B"
for /f "skip=3 delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet" 2^>nul') do (
if "%%~nxA"=="%Default%" (
echo !Count!. %%~nA [Default]
) else (
echo !Count!. %%~nA
)
set /a "Count+=1"
)
echo.
:Input
set "Input="
set /p "Input=> Select a Browser: "
if not defined Input goto Input
set "Input=%Input:"=%"
set "Count=1"
:: NOTE if the browser name is typed out and matching on the name then the last match will be chosen.
:: As it is currently setup this means that the 32-bit version will always win on a name match.
for /f "skip=3 delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet" 2^>nul') do (
if /i "%Input%"=="%%~nA" set "Choice=%%~A"
if "%Input%"=="!Count!" set "Choice=%%~A"
set /a "Count+=1"
)
for /f "skip=3 delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Clients\StartMenuInternet" 2^>nul') do (
if /i "%Input%"=="%%~nA" set "Choice=%%~A"
if "%Input%"=="!Count!" set "Choice=%%~A"
set /a "Count+=1"
)
if not defined Choice goto Menu
for /f "tokens=2,*" %%A in ('reg query "%Choice%\shell\open\command" /ve 2^>nul') do set "Command=%%~B"
start "Browser" "%Command%"
endlocal
echo Done
pause>nul

关于batch-file - 用于查找已安装浏览器列表的批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17613386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com