пакетный скрипт (Bat) и передача URL-адреса

Я пытаюсь сделать скрипт, который открывает сразу несколько браузеров.

Я сделал:

SET /P ENTERURL="ENTER URL PLEASE: "

start /MIN "" "C:\Program Files\Mozilla Firefox\firefox.exe" "%ENTERURL%"
start /MIN "" "C:\Program Files\Internet Explorer\IEXPLORE.EXE" "%ENTERURL%"

Он работает нормально для простых URL-адресов, но не работает с такими URL-адресами, как

www.bla.com/s/?a=d&gff&c=434#abc

У кого-нибудь есть что-то похожее на urlencode в php?


person amirash    schedule 18.03.2011    source источник
comment
Я полагаю, это не проблема, связанная с urlencode. Возможно, символы & или ? вызывают проблемы, но даже с вашим тестовым пакетом и URL-адресом я не вижу никаких проблем. Оба браузера запускаются с правильным URL-адресом.   -  person jeb    schedule 19.03.2011
comment
Подтвержденный. Ваш конкретный пример «проблемного» URL-адреса не сломал его для меня (Win XP SP2). Может быть, у вас есть какие-то другие операции над ENTERURL после его запроса и до вызова браузеров?   -  person Andriy M    schedule 19.03.2011
comment
Что именно ломается? Любые сообщения об ошибках или поведение, о которых вы могли бы рассказать нам?   -  person Joey    schedule 23.03.2011


Ответы (1)


DOS не позволяет использовать символ & в переменных. Вы должны использовать ^ перед этим

Ваш код правильный, просто используйте другой ввод.

www.bla.com/s/?a=d&gff&c=434#abc

становится

www.bla.com/s/?a=d^&gff^&c=434#abc
person Raphaël    schedule 26.05.2011
comment
Правильно, экранируйте символ & с помощью ^ :D - person Joe DF; 03.04.2012