首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

批处理推延变量

2012-07-22 
批处理延迟变量变量延迟??setlocal EnableDelayedExpansion??在复合语句中才要使用延迟变量。也就是说在复

批处理延迟变量

变量延迟?? setlocal EnableDelayedExpansion

?

?

在复合语句中才要使用延迟变量。也就是说在复合语句中或者外面是访问不到复合语句中定义的变量,只能通过变量延迟来解决

?

@echo off
for /l %%i in (1 1 10) do (
set var=%%i
echo %var%
)

结果:显示10个echo处于关闭状态。

分析:cmd把var的值当作复合语句之前的值来引用,

这就是因为没有开启 延迟变量 的缘故,cmd把var的值当作复合语句之前的值来引用,

?

@echo off
setlocal EnableDelayedExpansion
set var=abc
for /l %%i in (1 1 10) do (
set var=%%i
echo %var%
echo !var!
)
pause

?

结果为:abc 1 abc 2 abc 3……

分析:%var% 显示的结果是复合语句之前变量var的值,
而 !var! 显示的就是复合语句中即时得到的值。

热点排行