2017-03-27 40 views
-2

我需要能夠啓動默認的Windows瀏覽器,而不指定的URL(應該打開主頁)。從.bat/.vbs啓動沒有URL的默認Windows瀏覽器?

該溶液應優選不要求編譯二進制(所以.BAT,.VBS,或類似物)。

還應Win7上通過+工作Win10無需安裝任何軟件,且無需管理員權限。

我已經看到了指定URL的解決方案,但不會爲我工作。這可能嗎 ?
謝謝!

答案Batch - Default Browser?不是重複的,因爲這個問題的答案讓你的默認應用程序中打開HTML文件,而不是URL處理的默認瀏覽器。

+1

看看這個[批量 - 默認瀏覽器(http://stackoverflow.com/questions/3684849/batch-default-browser) – Hackoo

+0

@Hackoo沒有解決方案在那裏工作。它報告IE無論如何。 –

+0

@IsaacHanson在這種情況下IE設置爲打開HTML的默認設置,並不意味着鏈接的答案是錯誤的。 – Lankymart

回答

1

以下只是部分答案,它只看當前用戶註冊表並回顯r相應地響應。 (從第12行刪除Echo=,然後刪除第6行以實際嘗試打開瀏覽器)

@Echo Off 
Set "RK1=HKCU\Software\Microsoft\Windows\Shell\Associations" 
Set "RK1=%RK1%\UrlAssociations\http\UserChoice" 
Set "RK2=HKCU\Software\Classes\%%B\shell\open\command" 
Call :Sub 
Timeout -1 
GoTo :EOF 

:Sub  
For /F "Tokens=2*" %%A In ('Reg Query "%RK1%" /V Progid 2^>Nul') Do (
    For /F "Tokens=2*" %%C In ('Reg Query "%RK2%" /VE 2^>Nul') Do (
     For %%E In (%%D) Do If Exist "%%~E" Echo=Start "" "%%~E")) 
GoTo :EOF 

這只是一部分的答案,因爲如果當前用戶並沒有改變他們的默認瀏覽器的鍵/數據可能不存在。 (此時檢查會變得更加複雜)。

+0

這個特別的腳本沒有做任何事情,但它使我走上了正確的軌道。 –

0

你可以試試這個解決方案from here

@echo off 
rem look in the HKEY_CLASSES_ROOT\htmlfile\shell\open\command registry for the default browser 
for /f "tokens=*" %%a in ('REG QUERY HKEY_CLASSES_ROOT\htmlfile\shell\open\command /ve ^| FIND /i "REG_SZ"') do (
    set "input=%%a" 
) 

setlocal enableDelayedExpansion 
rem parse the input field looking for the second token 
for /f tokens^=^2^ eol^=^"^ delims^=^" %%a in ("!input!") do set "browser=%%a" 
echo "%browser%" 
Start "Default Browser" "%browser%" 
pause>nul 

編輯:28/03/2017 @ 01:55

只要給這個代碼試試:

@echo off 
for /f "tokens=3 delims= " %%a in (
    'REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.html\UserChoice" ^| FIND /i "ProgId"' 
) Do (
     set "input=%%a" 
) 
SET Browser=%input:~0,-4%.exe 
echo "%Browser%" 
Start "Default Browser" "%Browser%" & pause & exit 
+0

沒有。無論默認瀏覽器如何,我總是在我的機器上打開IE瀏覽器。 –

+0

什麼是您的默認瀏覽器? – Hackoo

+0

我安裝了IE,Edge,Chrome和Firefox。我更改我的默認瀏覽器,並嘗試與每個。每種情況下,您的解決方案都會報告IE 'start http://'建議會打開正確的默認瀏覽器,但會出現錯誤或空白頁面。 –

0

與幫助解決它@Compo

Dim oShell 
Set oShell = CreateObject("WScript.Shell") 

Dim strProgId 
strProgId = oShell.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice\ProgID") 
Dim strExe 
strExe = oShell.RegRead("HKEY_CLASSES_ROOT\" & strProgId & "\shell\open\command\") 
wscript.echo strExe 
+0

請記住,HKEY_CLASSES_ROOT映射爲HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes。我的示例使用了'HKEY_CURRENT_USER \ Software \ Classes',因爲它正在查看其他數據的'HKEY_CURRENT_USER'。我建議你至少應該首先檢查'HKCU',如果沒有則檢查'HKLM'鍵。 – Compo