你这种情况是因为没有 变量延迟,楼上是正确作案,http://hi.baidu.com/jzj19930824/item/4d31f90e67b0cb2fa1312d48里面的第一篇文章有详解,可以看看
@echo off&setlocal EnableDelayedExpansionfor /l %%i in (1,1,2) do (set var=%%iecho !var!)pause