首先说一下问题,因为在批处理开始执行的时候,每一个引用的变量都会被扩充。因此重新变量赋值改变后,使用%变量%来引用变量值的话,得到的会是原来的变量值,启用延迟变量扩充可以解决。看一个例子:set var=valueif "%var%"=="value" (
set var=new_value
if "%var%"=="new_value" @echo 看见这个说明新的变量值引用成功。) 结果是不会看见消息的。正确做法是SetLocal EnableDelayedExpansionset var=valueif "%var%"=="value" (
set var=new_value
if "!var...