2013-11-03 43 views
1

真的不知道關於變量是什麼標題應該是,但我的問題是,當我運行以下命令:Refrence在使用其他

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」

如何refrence變量%搜索%?

回答

3

使用延遲擴展:

setlocal EnableDelayedExpansion 
set "var=craftbukkit-1.6.4-R2.0" 
set "search=craftbukkit" 
set vnum=!var:%search%=! 
echo %vnum% 
-4

只需加添加到您的vnum

set vnum=%var:+%search%=% 
+2

剛剛返回'%VAR%' – foxidrive

1
CALL set vnum=%%var:*%search%=%% 

應該從var刪除所有字符,直到幷包括(可變search的內容)和結果分配給vnum