[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 批处理如何使用call延迟变量?

看帖子的时候发现call也可以延迟变量下面分别是两个延迟变量的方式
方式一
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set num=0
  4. for /l %%a in (1 1 7) do (
  5. set /a num+=1
  6. echo !num!
  7. )
  8. pause
复制代码

方式二
  1. @echo off
  2. set a=0
  3. for /l %%i in (1 1 7) do set /a a+=1 & call echo %%a%%
  4. pause>nul
复制代码

第一种方法基本明白了
第二种利用CALL的老手能否讲解一下
ㄗs:A good programming is 99% sweat and 1% coffee!--①個亾

============ >   hi.baidu.com/novaa   <============

在执行莫些文本操作得时候。当必须使用变量延迟时,如果用setlocal enabledelayedexpansion 。那么要处理得文本中的!将会置空。所以这个时候用CALL延迟。
只是个人看法。
ㄗs:A good programming is 99% sweat and 1% coffee!--①個亾

============ >   hi.baidu.com/novaa   <============

TOP

还不够全
还有些情况是因为, !!不能嵌套使用

TOP

返回列表