Замена @ на% в строке (используется только пакетный сценарий) - PullRequest
0 голосов
/ 05 мая 2011

Я пытаюсь заменить строку @ на% 40 для передачи в веб-браузер, используя только командный файл. Я пытаюсь сделать что-то вроде этого:

set _FOO=test@some.com
set _BAR=%_FOO:@=_40%
set _BAR

_BAR=test_40some.com

Это почти то, что я хочу, но мне нужно, чтобы _ было% (как в "test% 40some.com"). Тем не менее, похоже, нет способа избежать символа%. Ни одна из этих работ:

set _BAR=%_FOO:@=\%40%
set _BAR=%_FOO:@=%%40%

Есть идеи?

1 Ответ

2 голосов
/ 05 мая 2011
@echo off
setlocal enabledelayedexpansion
set _FOO=test@example.com
set "_BAR=!_FOO:@=%%40!"

echo %_BAR%

Здесь помогает отложенное расширение, поскольку оно позволяет использовать «нормальные» метасимволы, такие как%.Для получения дополнительной информации о отложенном расширении см. help set.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...