今天在看SET命令的帮助,看到参数环境变量.....虽然看完,但觉得蒙蒙笼笼的...
我想所谓
用SET 语句 所赋值是不是可以理解为是静态的,除非有新的SET语句在给他赋值,不然不会改变,又由于在FOR,IF等语句中,首先被编译的是参数,所以(如帮助列1,列2所示),LIST=%LIST% %i这样的关系,其实是反应的%i.
而如果在参数前后加!,既变为动态参数(或变量)就可以参加运算...
总的来说理解还是很混乱,希望学长者明之..怎样理解较为合适.多谢...
附: 帮助列子
不正确的列子.
set LIST=
for %i in (*) do set LIST=%LIST% %i
echo %LIST%
sset VAR=before
if "%VAR%" == "before" (
set VAR=after;
if "%VAR%" == "after" @echo If you see this, it worked
)et VAR=before
正确的列子:
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "!VAR!" == "after" @echo If you see this, it worked
)
set LIST=
for %i in (*) do set LIST=!LIST! %i
echo %LIST%