ответ пузыря имеет несколько предостережений.
Вот что у меня работает в гораздо большем числе случаев:
start "" explorer "protocol://your.complicated/url?foo=bar"
Единственное, что вам нужно убежать - это двойная кавычка, и вы избегаете ее, набрав ее еще раз.
Работает как минимум для протоколов http://
, https://
и file://
(без строки запроса). Не работает для ftp://
URL (он открывает их как сетевой диск).
Неудачные случаи принятого ответа
Во-первых, веб-страница должна начинаться с www.
rem Works
start www.google.com
rem FAILS!
start google.com
The system cannot find the file google.com
rem FAILS!
start translate.google.com
The system cannot find the file translate.google.com
Это можно исправить, добавив http://
rem Works
start http://google.com
rem Works even for file:// protocol
start file://C:/test/main.html
rem Works - you can even pass QSA
start http://google.com?foo=bar
rem FAILS! outch, you have to escape ampersands
start http://google.com?foo=bar&baz=baz
'baz' is not recognized as an internal or external command, operable program or batch file.
rem FAILS! but QSA only works for http/s URLs; for file:// protocol, it is ignored
start file://D:/Programování/lumix-link/Control.html?foo=bar
rem opens file://D:/Programování/lumix-link/Control.html
Можно, например, Подумайте о том, чтобы заключить веб-страницу в двойные кавычки (чтобы избежать неправильной интерпретации некоторых символов). Затем происходит сбой, и вместо этого он пытается открыть другой файл CMD.exe с указанной строкой в качестве имени:
rem FAILS!
start "http://google.com"
Хорошо, это не ошибка, а просто заблуждение. Это ожидаемое поведение. Давайте исправим это:
rem Works
start "" "http://google.com"
rem FAILS!
start "" "google.com"
The system cannot find the file google.com.
Таким образом, мы действительно должны предоставить исполняемый файл, который должен быть запущен. Здесь вы можете увидеть очень длинные ответы, которые лучше или хуже преуспевают в поиске пути к браузеру по умолчанию. Но что гораздо проще и пуленепробиваемее, это использовать explorer
для запуска веб-страницы. Но поскольку проводник решает, какое приложение запускать на основе протокола, вы должны использовать префикс протокола. И это все!
rem FAILS!
rem start "" explorer "google.com"
rem Works
rem start "" explorer "http://google.com"
rem Works
rem start "" explorer "http://google.com?foo=bar"
rem FAILS! QSA still not supported on file:// URLs
rem start "" explorer "file://C:/test/main.html?foo=bar"