![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-29 08:53 |
共 47,816 主题排行 / 349,916 发帖 / 今日 0 篇 / 48,265 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [请教]变量延迟的应用为什么失败 |
| 可打印版本 1,670 / 7 |
| 第1楼 zhaxi | 发表于 2006-06-27 22:38 |
| 初级用户 发帖 40 积分 112 | |
|
[请教]变量延迟的应用为什么失败 @echo off
echo. echo. echo 192.168.10.16上有以下最新的服务端供下载: dir \\192.168.1.1\rel_inc(增量发布流)\svr /ON /A-D /B /-D /P >%zhx%\Temp\earlist.txt setlocal ENABLEDELAYEDEXPANSION set /a num=1 for /f "tokens=1 delims= " %%i in (%zhx%\Temp\earlist.txt) do (set file=%%i set /a num+=1 echo ◇%num% %%i ) endlocal echo. pause ------------------------------------------------------------------ 我想通过上述语句实现这样的显示结果: ◇1 a.txt ◇2 b.txt ◇3 c.txt ◇4 d.txt 但我实际执行结果却是: ◇1 a.txt ◇1 b.txt ◇1 c.txt ◇1 d.txt 也就是说明变量num没有延迟扩展,而是for语句预读时就赋予了1。 请高手帮忙改正。谢谢。 [ Last edited by zhaxi on 2006-6-27 at 22:41 ] |
|
| 第2楼 zhaxi | 发表于 2006-06-27 22:58 |
| 初级用户 发帖 40 积分 112 | |
|
晕。刚才查了半天。是不是由于我应该把%num%改成 !num! 啊。
哈哈。 |
|
| 第3楼 bagpipe | 发表于 2006-06-28 08:54 |
| 银牌会员 发帖 425 积分 1,144 来自 北京 | |
|
@echo off
setlocal for /f "delims=" %%a in (1.txt) do ( set /a aa+=1 call :hi %%a ) endlocal goto :eof :hi echo %aa% %* goto :eof 有的时候也可以不用延迟环境变量来实现的.......... [ Last edited by bagpipe on 2006-6-28 at 11:17 ] |
|
| 第4楼 zhaxi | 发表于 2006-06-28 12:51 |
| 初级用户 发帖 40 积分 112 | |
|
还有这种做法啊。谢谢大哥了。通过一个call跳到for外面就可以实现aa的重新赋值了啊。
|
|
| 第5楼 ruisoft | 发表于 2007-06-11 15:09 |
| 初级用户 发帖 57 积分 93 | |
|
通过一个call跳到for外面后如何跳回for???
|
|
| 第6楼 stornager | 发表于 2007-06-11 15:45 |
| 中级用户 发帖 131 积分 328 | |
|
看3楼的代码,call本来就在for内。
|
|
| 第7楼 ieutk | 发表于 2007-06-11 23:45 |
| 初级用户 发帖 48 积分 107 | |
Originally posted by ruisoft at 2007-6-11 03:09 PM: goto :eof |
|
| 第8楼 wufengseu | 发表于 2008-01-08 22:01 |
| 新手上路 发帖 4 积分 10 | |
|
this can be done as follows:
@echo off echo. echo. echo. setlocal ENABLEDELAYEDEXPANSION set /a num=0 for /f "tokens=1 delims= " %%i in (1.txt) do (set file=%%i set /a num= num-1 echo ◇!num! %%i.txt ) endlocal echo. pause [ Last edited by wufengseu on 2008-1-8 at 10:02 PM ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |