据我所知,set没有这个参数,不知道上面那串设置你是哪里看来的?
我猜测的话,可能性1是后面是一些论坛加的随机乱码,防人乱拷的。 另一可能性是本身就是作为一串字符串赋值给A的。(因为表达式中没有_下划线这种运算符,而且要当算式赋值的话,得在前面加/a 参数 , 如 set /a bb=cc*aa+3 )
所以最好你还是给一下上下文
出现ECHO if off的原因是该变量为空。这时相当于无参数执行echo,所以就会显示echo的状态,而前面的代码里应该用@echo off关闭了的,所以会提示ECHO if off.
windows下的set命令只有/A和/P两个参数
你这个应该是把“%B% -D _c”作为一个完整字符串赋值给A
可以自己echo一下看看
没有-D参数的,详细用法看set帮助,set/?
test1
@echo off
set A=%B% -D _c
echo %a%
test2这个写法更标准点
@echo off
set "B=BB"
set "A=%%B%% -D _c"
rem 上面A变量等于B变量的值加上字符“ -D _c"
echo.%a%