Войти

Показать полную графическую версию : [решено] Экранирование знака &


alexxx2011
19-07-2018, 08:44
Приветствую уважаемых.

Столкнулся с таким вот делом.
В батнике нужно подставлять пароль. Пароль вида 123%456^&

Вижу, что символы %, ^ и & съедаются, поэтому экранирую так:
set pass=123%%456^^^^&

После echo.%pass% получаю:
123%456^

А вот с символом & в конце никак не могу разобраться, он всегда пропадает.
Пробовал и \ перед ним ставить и %.
Менять пароль нельзя.
У подобной задачи есть решение или дело гиблое? Помогите пожалуйста.

Serguei Kouzmine
19-07-2018, 08:59
емнип тоже ^ для & :

echo 123%456^^^&
123%456^&

Petya V4sechkin
19-07-2018, 09:03
alexxx2011, тут символы "съедаются" не только при присваивании, но и при обращении к переменной, поэтому экранировать приходится дважды. А если строка в кавычках, то достаточно и одного раза.
Сравните:
@echo off

set pass1=123%%456^^^&
echo "%pass1%"
echo %pass1%

set pass2=123%%456^^^^^^^&
echo "%pass2%"
echo %pass2%

alexxx2011
19-07-2018, 09:19
Принял во внимание. Спасибо большое!




© OSzone.net 2001-2012