本帖最后由 applba 于 2011-5-16 03:09 编辑
set命令在执行初期会处理引号、等号。
第一个等号作为变量名和值的分隔符!
任何字符都可以作为变量名,除了等号。
变量引用增强时,(字符串替换时)依然把第一个=看作分隔符。
解决方法如下,你的var完全是多余的:- @echo off
- set a=test=test
- echo %a:test==%
- pause
复制代码 变量引用增强时,(字符串替换时)依然把第一个=看作分隔符。
所以上面的方法自然也是无效的。
但是字符串的截取是不涉及=号分隔符的。- @echo off
- SETLOCAL enabledelayedexpansion
- set "a=test=test"
- echo %a%
- echo !a:test^==-4!
- pause
复制代码 以上代码复合题意…… |