批处理的字符串替换语句中,对于含有特殊字符的字符串,怎么处理呢?

CALLSETstr1=%%str1:!!var1!!=!!var2!!%%这句话中,var1和var2是提前已经赋值好了的字符串变量,想把str1中,含有变量var1的... CALL SET str1=%%str1:!!var1!!=!!var2!!%%
这句话中,var1和var2是提前已经赋值好了的字符串变量,
想把str1中,含有变量var1的字符串部分,替换成变量var2代表的字符串
但是替换不了,可能变量中有/的原因吧~
因为
SET "var1=/usr/include"
SET "var2=/copy/sys/include"
展开
 我来答
jd08139
2013-12-06 · TA获得超过3733个赞
知道大有可为答主
回答量:2174
采纳率:66%
帮助的人:2823万
展开全部
@echo off&setlocal enabledelayedexpansion
set "str1=/usr/include"
set "var1=/usr/include"
set "var2=/copy/sys/include"
call set str1=%%str1:!!var1!=!var2!%%
echo %str1%
pause

 "/" 在批处理中也不算什么特殊符号.

愈未央2I
2013-12-06 · TA获得超过675个赞
知道小有建树答主
回答量:668
采纳率:50%
帮助的人:477万
展开全部
@echo off&setlocal enabledelayedexpansion
SET "var1=/usr/include"
SET "var2=/copy/sys/include"
Set "star=/usr/include123"
set "star=!star:%var1%=%var2%!"
echo %star%
pause
套上变量的话只要加上变量延迟,外围用!,里面和调用变量一样就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yyykkkyyyy
2013-12-06 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3266万
展开全部
正确的写法是
call set "str1=%%str1:!ver1!=!ver2!%%"
如果还是不行,最好把原bat贴出来,不要认为别的没问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式