我不确定标题应该是什么,但我的问题是当我运行以下内容时:
set "var=craftbukkit-1.6.4-R2.0"
set "search=craftbukkit"
set vnum=%var:%search%=%
echo %vnum%
它返回“搜索”但它应该返回版本号。
但是,如果我用实际的字符串替换变量,它确实有效:
set "var=craftbukkit-1.6.4-R2.0"
set vnum=%var:craftbukkit=%
echo %vnum%
返回“-1.6.4-R2.0”
如何引用变量%search%?
答案 0 :(得分:3)
使用延迟扩展:
setlocal EnableDelayedExpansion
set "var=craftbukkit-1.6.4-R2.0"
set "search=craftbukkit"
set vnum=!var:%search%=!
echo %vnum%
答案 1 :(得分:1)
CALL set vnum=%%var:*%search%=%%
应从search
删除所有字符(包括变量var
的内容)并将结果分配给vnum
答案 2 :(得分:-4)
只需在你的vnum中添加一个加号
set vnum=%var:+%search%=%