![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-23 14:44 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]百思不解,关于for…… |
| 可打印版本 1,825 / 2 |
| 第1楼 arding | 发表于 2006-01-08 20:50 |
| 初级用户 发帖 38 积分 90 | |
|
[已结]百思不解,关于for…… dos环境:
Microsoft Windows XP fl.txt的内容: 1111111111111111111 2222222222222222222 3333333333333333333 批处理内容(test.bat): @echo off set var1=00000000000000000 for /f %%i in (fl.txt) do set var1=%%i && echo %var1% echo %var1% pause 期望结果是: 1111111111111111111 2222222222222222222 3333333333333333333 3333333333333333333 请按任意键继续. . . 运行结果是: 0000000000000000000 0000000000000000000 0000000000000000000 3333333333333333333 请按任意键继续. . . 从最后的echo %var1%的输出结果:3333333333333333333 可知,在for语句中var1的值的确被修改了,可是为什么在for语句中的echo %var1%仍旧输出初始化的值呢? [ Last edited by arding on 2006-1-12 at 17:13 ] |
|
| 第2楼 arding | 发表于 2006-01-09 14:41 |
| 初级用户 发帖 38 积分 90 | |
| 第3楼 willsort | 发表于 2006-01-10 14:34 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re arding:
完成你所需要的功能需要使用新的变量定界符 ! ,要使用这个定界符,需要启动延缓变量扩展,通过 cmd /v:on 或者 setlocal EnableDelayedExpansion 来实现。这些内容,过去的主题中也有不少讨论,可以全文搜索一下。或者直接查看 cmd / setlocal / for 的命令行帮助,下面是你的程序修改后的代码。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |