2011-05-04 51 views
0

我试图用%40替换@字符串以传递到仅使用批处理文件的Web浏览器。我正在试图做的是这样的:用%替换字符串(仅使用批处理脚本)

set [email protected] 
set _BAR=%_FOO:@=_40% 
set _BAR 

_BAR=test_40some.com 

这几乎是我想要的,但我需要_做个%(如“测试%40some.com”)。但是,似乎没有办法逃避%符号。这些都没有工作:

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

任何想法?

回答

2
@echo off 
setlocal enabledelayedexpansion 
set [email protected] 
set "_BAR=!_FOO:@=%%40!" 

echo %_BAR% 

延迟扩展在这里有帮助,因为它允许使用»normal«元字符,比如%。有关延迟扩展的更多信息,请参阅help set