用字符串中的%替换@(仅使用批处理脚本)

时间:2011-05-04 20:24:00

标签: batch-file

我正在尝试用%40替换@字符串,仅使用批处理文件传递给Web浏览器。我想做的是这样的事情:

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 个答案:

答案 0 :(得分:2)

@echo off
setlocal enabledelayedexpansion
set _FOO=test@example.com
set "_BAR=!_FOO:@=%%40!"

echo %_BAR%

延迟扩展有助于此,因为它允许使用»普通«元字符,例如%。有关延迟扩展的详细信息,请参阅help set