Board logo

标题: [文本处理] [已解决]把 for/f 中%%i 赋给变量 时出错 [打印本页]

作者: vsbat    时间: 2009-10-18 10:15     标题: [已解决]把 for/f 中%%i 赋给变量 时出错

@echo  off
setlocal   enabledelayedexpansion
for  /f  %%i  in  (a.txt)  do  (set /a  s+=1&set  !s!q=%%i&echo  !!s!q!)
pause

我的这个 为什么不能正确显示 a.txt 每行的内容呢??
只显示 1q 2q 3q 4q ---------就是好象 echo !!s!q! 没把变量1q变成第一行的内容一样而变量延迟已开启了呀


[另:各位高手还有什么好的方法可以把 for/f 中%%i 赋给变量 吗?]


[ 本帖最后由 vsbat 于 2009-10-18 16:05 编辑 ]
作者: Seter    时间: 2009-10-18 10:38

!!s!q!...
感叹号嵌套..做出来就是下一代CMD了!
作者: vsbat    时间: 2009-10-18 10:39

呵呵----
那该怎么写呢------指点一下吧
作者: yslyxqysl    时间: 2009-10-18 10:55

...&for %%z in (!z!) do echo  !%%zq!)
作者: vsbat    时间: 2009-10-18 13:22

恩--------上面的代码没怎么懂-------------
有没有人来给我详细解释一下呀__
作者: HAT    时间: 2009-10-18 13:34

多看几遍变量嵌套的教程:批处理中的变量延迟扩展、变量嵌套
http://bbs.bathome.net/thread-2899-1-1.html
作者: vsbat    时间: 2009-10-18 16:03

把文本 for/f 中每行赋给变量--已解决-------特别谢谢4楼
还有楼上的

[ 本帖最后由 vsbat 于 2009-10-18 16:06 编辑 ]




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2