Добавить знак плюс в URL пакетного файла - PullRequest
2 голосов
/ 03 февраля 2020

У меня есть командный файл, который открывает всплывающее окно на веб-сайте. Сайт открывается нормально, но когда я хочу добавить параметр с символом плюс, +, он не работает!

Код выглядит так:

@echo off
start "Chrome" chrome --app=https://website.com?phone=%1

Однако %1 будет заменен на входящий номер, но без + до него.

Не знаю, почему это происходит, поэтому я попытался добавить плюс вручную.

@echo off
start "Chrome" chrome --app=https://website.com?phone=+%1

Но это тоже не работает!

У кого-нибудь есть идеи, как добавить знак + в URL?

Желаемый результат должен быть:

https://website.com?phone=+3112345678

1 Ответ

2 голосов
/ 03 февраля 2020

Это потому, что + - это кодировка URL для space.

Чтобы кодировать знак плюс, вы должны использовать %2b.
Но в пакетных файлах знак процента также является специальным символом, поэтому его необходимо экранировать другим знаком процента.

 https://website.com?phone=%%2B555-123

И url должен быть заключен в кавычки, потому что, когда присутствует более одного параметра get, эти параметры разделяются знаками &, что снова вступает в противоречие со специальным значением в командных файлах для разделения команд.

start "Chrome" chrome --app="https://website.com?phone=%%2B%1&name=John"
...