powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Открытие URL из командной строки в браузере по умолчанию
22 сообщений из 22, страница 1 из 1
Открытие URL из командной строки в браузере по умолчанию
    #38690281
TRust
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наткнулся на неожиданную проблему
Необходимо из под командной строки в Windows открыть страницу с произвольным URL в браузере по умолчанию.

Ранее использовал команду
Код: plaintext
start URL
Но тут вдруг обнаружилось, что если в URL присутствует амперсенд, то start воспринимает URL только до амперсенда.

Есть ли другой способ решить поставленную задачу?
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690286
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Взять в кавычки?
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690298
TRust
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanВзять в кавычки?
Код: plaintext
1.
2.
3.
4.
5.
START ["заголовок"] [/D путь] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/NODE <узел NUMA>] [/AFFINITY <маска сходства>] [/WAIT] [/B]
      [команда/программа] [параметры]

    "заголовок" Заголовок окна.

То есть, текст в кавычках воспринимается как заголовок окна
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690308
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TRustТо есть, текст в кавычках воспринимается как заголовок окна
Проявим фантазию: написать любой текст в кавычках и адрес за ним тоже в кавычках?

Сколько секунд потребуется это проверить?
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690318
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TRustwadmanВзять в кавычки?
Код: plaintext
1.
2.
3.
4.
5.
START ["заголовок"] [/D путь] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/NODE <узел NUMA>] [/AFFINITY <маска сходства>] [/WAIT] [/B]
      [команда/программа] [параметры]

    "заголовок" Заголовок окна.

То есть, текст в кавычках воспринимается как заголовок окна
И чем он тебя смутил? Напиши туда чего-нибудь
Код: sql
1.
start "q" "http://www.sql.ru/forum/afsearch.aspx?s=url&submit=%CD%E0%E9%F2%E8&bid=-6"
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690322
TRust
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне - 10 секунд. :)
Как-то стрёмно использовать недокументированную фичу команды start...
Как бы потом не аукнулось...
Потому и написал сюда - может кто другой способ предложит, более "штатный"?
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690326
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TRustПотому и написал сюда - может кто другой способ предложит, более "штатный"?
ShellExecute()
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690353
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TRustКак-то стрёмно использовать недокументированную фичу команды start...
Это не "недокументированная фича" и тем более не только команды start касается, а всей ОС в целом при работе со строкой параметров.

К примеру, аналогично передаются длинные имена файлов, которые могут содержать пробелы.
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690418
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Шляпка" (^) экранирует следующий символ.
Поэтому, если интерпретация командной строки соответствует правилам cmd.exe, то:
Код: plaintext
start протокол://хост/ресурс?парам1=знач1^&парам2=знач2
выполнится "как надо".
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690820
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman...Сколько секунд потребуется это проверить?
Очень много.

Что бы понять, что решение будет не кросс-платформенным. Вроде на Windows 95 команда START была, но кавычки интерпретировались совсем по другому. M$ - уроды. IMHO
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690890
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Ты бы ещё её маму вспомнил" (ц) старое присловье.
Винды начинаются с NT4. 1996 год, если кто не в курсе.
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690906
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov...Винды начинаются с NT4. 1996 год, если кто не в курсе.
А фиг его помнит, какой там был синтаксис команды START. Но от версии к версии менялся. В начале 2000-х я с этим обжегся
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690911
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот какой умник использовал (вроде зарезервированный) символ " для передачи параметров в команду - не известно. Таких убивать нужно. Или кастрировать, что бы не размножались. IMHO
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690926
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevА фиг его помнит, какой там был синтаксис команды START. Но от версии к версии менялся. В начале 2000-х я с этим обжегсяБыла два start-а - внешняя команда (исполняемый файл) w9x и встроенная команда NT-шного cmd.exe
У cmd.exe (тьфу три разА) синтаксис вполне стабильный.
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690942
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov...У cmd.exe (тьфу три разА) синтаксис вполне стабильный.
Стабильный/не стабильный пофиг.

Нифига " (вроде зарезервированный символ) использован как спец-символ в команде. Почему было не сделать обычный ключ /TITLE заголовок_окна

Т.ч. IMHO убить и/или кастрировать. Лично я грязно выругался, когда такое нашел и все сделал на C.
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690958
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TRustwadmanВзять в кавычки?
Код: plaintext
1.
2.
3.
4.
5.
START ["заголовок"] [/D путь] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/NODE <узел NUMA>] [/AFFINITY <маска сходства>] [/WAIT] [/B]
      [команда/программа] [параметры]

    "заголовок" Заголовок окна.

То есть, текст в кавычках воспринимается как заголовок окна

ЭТо не так.
Оба параметра НЕ ОБЯЗАТЕЛЬНЫЕ. Если будет один, это будет комманда.
Если будут два -- первый заголовок, второй -комманда.
Ну и даже если так -- можно сделать фиктивный заголовок.

Ну и вообще -- есть функция API ShellExecute, которая делает то же самое, но без старта CMD и нового процесса.
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690961
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690963
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что два разных start-а имеют разное поведение - неприятно, но объяснимо.
Синтаксис встроенной команды start процессора cmd.exe Windows NT не менялся ... Присягну, пожалуй, даже за NT4.
То, что вы наткнулись на какие-то особенности более десяти лет назад - не повод отказываться от возможностей start.
У cmd.exe особенностей хватает. Включая разное поведение в комстроке и пакетном файле.
"Дэти, эта нелза панат. Эта нада запомныт" (ц) старый анекдот.
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690979
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНу и даже если так -- можно сделать фиктивный заголовок

и который на предыдущих версиях Windows будет восприниматься как команда.... (насколько эти версии "предыдущие" дискуссионный)
Basil A. SidorovТо, что вы наткнулись на какие-то особенности более десяти лет назад - не повод отказываться от возможностей start.

Дело не в особенностях, дело в том, что какой-то урод этими особенностями совместимость порушил. Х.з. ради чего. Команда start из-за данной "мега фичи" стала полностью не совместима с предыдущими версиями.
Basil A. Sidorov"Дэти, эта нелза панат. Эта нада запомныт" (ц) старый анекдот.

+ миллион
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38690992
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevДело не в особенностях, дело в том, что какой-то урод этими особенностями совместимость порушил. Х.з. ради чего. Команда start из-за данной "мега фичи" стала полностью не совместима с предыдущими версиямиЕщё раз.
command.com (внешняя команда start) и cmd.exe (внутренняя команда start) - два разных командных процессора. С похожими, но разными возможностями.
Единственная грабля, которую могу припомнить (если, конечно, не ошибаюсь) - NT4 вызывала command.com для расширения .bat и cmd.exe для .cmd.
И вот написание "кросплатформенного" bat -файла было нетривиальной задачей.
Только это ни разу не проблема интерпретатора.
Это организационная проблема, решаемая созданием скриптов с "нативным расширением".
"Когда-то давно" - в двух вариантах, последние лет десять - cmd-only.

P.S. В принципе, можно было объединить оба варианта файле с расширением bat, что несложно.
Если уж "кровь из носу" требовался один файл под два семейства виндов.
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38691022
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне как _пользователю_ ОС в общем-то пофиг. Но факты таковы:
1) какой-то урод-программист использовал ЗАРЕЗЕРВИРОВАННЫЙ (вроде) символ
2) похерил напрочь совместимость и сделал НЕ ВОЗМОЖНЫМ использовать этот ЗАРЕЗЕРВИРОВАННЫЙ символ документированным (ну или по крайне мере интуитивно понятным) образом,

Когда я пишу:
CD "C:\Program Files"
мне это понятно, но почему при
START "C:\Program Files\Java\Java.exe"
символ ЗАРЕЗЕРВИРОВАННЫЙ аж с DOS 3.11 (или даже раньше) ведет себя по другому мне лично НЕ понятно. Плюс мне непонятно, когда две разные версии одной команды ПОЛНОСТЬЮ не совместимы

То, что COMMAND.COM и CMD.EXE разные вещи - это ясно. Но вот ситуации, когда работает одна версия, а когда другая (разные версиях Windows, прикладной софт, языки программирования) - "все совсем не так очевидно" ( C ) дочь офицера

Для ключа команд всю жизнь использовали /. Но какой-то урод выпендрился и стал использовать ". В результате, такую команду, я де факто отношу к уродским (где к созданию приложили руку уроды) и стараюсь не использовать ( если возможно ).
...
Рейтинг: 0 / 0
Открытие URL из командной строки в браузере по умолчанию
    #38691144
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И?
У start cmd.exe OS/2, как помнится, аналогичное поведение. Есть, правда, /pgm, который превращает первую строку в кавычках в имя программы.
И вообще:
Код: plaintext
start "" "чего надо"
стопроцентно решает проблему и может оскорблять только отсутствием заголовка у консольных программ.
Да, возможно, в раю идеальных программ ваши возражения уместны, но в реальной жизни требуется работать тем инструментом, который есть.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Открытие URL из командной строки в браузере по умолчанию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]