我正在尝试用%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%
有什么想法吗?
答案 0 :(得分:2)
@echo off
setlocal enabledelayedexpansion
set _FOO=test@example.com
set "_BAR=!_FOO:@=%%40!"
echo %_BAR%
延迟扩展有助于此,因为它允许使用»普通«元字符,例如%。有关延迟扩展的详细信息,请参阅help set
。