![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-04 23:01 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 变量延迟失效??? |
| 可打印版本 784 / 6 |
| 第1楼 ruisoft | 发表于 2007-06-12 09:59 |
| 初级用户 发帖 57 积分 93 | |
|
变量延迟失效??? 下列代码有什么不对之处???
请高手们帮忙找一找,在这先谢了!!! @ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION DIR D:\DOCUMENTS /A /B > DOC.TXT FOR /F " DELIMS=," %%T IN (DOC.TXT) DO ( SET /a VAR="%%T" SET /a VAR=!VAR: =_! SET /a VAR=!VAR:-=_! echo "!VAR!" ) GOTO END-S :END-S |
|
| 第2楼 wudixin96 | 发表于 2007-06-12 11:11 |
| 银牌会员 发帖 931 积分 1,928 | |
|
"DELIMS=,"文件名里有逗号?
SET /a VAR="%%T",文件名里有数字? |
|
| 第3楼 wudixin96 | 发表于 2007-06-12 11:13 |
| 银牌会员 发帖 931 积分 1,928 | |
|
是这个意思吗?
|
|
| 第4楼 ruisoft | 发表于 2007-06-12 11:27 |
| 初级用户 发帖 57 积分 93 | |
|
使用 "DELIMS=," 是因为文件名中会出现空格,如果把“,”号去掉会出现文件名不完整的情况!
"DELIMS" 的默认是以空格为分隔符处理的。 |
|
| 第5楼 ruisoft | 发表于 2007-06-12 11:29 |
| 初级用户 发帖 57 积分 93 | |
Originally posted by wudixin96 at 2007-6-12 11:13 AM: |
|
| 第6楼 dikex | 发表于 2007-06-12 12:30 |
| 高级用户 发帖 366 积分 788 | |
|
三楼的"DELIMS="后面是直接跟着引号的,这样就表示取消包括空格在内的所有字符作为分隔符
|
|
| 第7楼 huzixuan | 发表于 2007-06-12 18:07 |
| 高级用户 发帖 219 积分 537 来自 芜湖 | |
|
你所指的不对之处,是哪里出了问题.
希望可以说的详细一点 但 set /a 是用来做数学运算的阿,用来做替换变量内的值 似乎有些不妥 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |