标题: for /f参数问题
[打印本页]
作者: klot
时间: 2006-9-13 03:27
标题: for /f参数问题
按照论坛上的教程,学到for /f 的时候:
用for /f来显示1.txt里面的所包括的文件列表
klot[D:\hktools\cmdtmp]\>type 1.txt
Volume in drive D has no label.
Volume Serial Number is 9CCC-3BB8
Directory of D:\hktools\cmdtmp
2006-09-12 15:09 <DIR> .
2006-09-12 15:09 <DIR> ..
2006-09-12 15:18 0 1.txt
2006-09-12 15:09 5 a.txt
2006-09-12 13:48 6,860 mtee.rar
3 File(s) 6,865 bytes
2 Dir(s) 2,930,868,224 bytes free
klot[D:\hktools\cmdtmp]\>for /f "skip=7 tokens=4" in (1.txt) do @if exist a% echo a%
in was unexpected at this time.
klot[D:\hktools\cmdtmp]\>
咋出来个“in was unexpected at this time.”??
请指点下。(我已经切换到437英语状态下了)
作者: 9527
时间: 2006-9-13 04:24
我真是服了楼主了啦,唉,这可跟CHCP 437 没有关系了,你知道你运行的这条FOR 语句是什么意思吗?我想你不知道,如果知道你就不运行了,当然结果也不会是你现在看到的这个样子,我已经跟楼主说的很清楚了,把FOR的每个参数每个功能都看的透彻了在去试验,当然了,实践是学习的最好途径,不过实践得在你懂得是什么意思的情况下才可以去实践的,要不你会越来越糊涂的..........
作者: klot
时间: 2006-9-13 23:05
谢谢教导。。。呵呵。。。
好在我已经试验成功了
klot[D:\hktools\cmdtmp]\>for /f "skip=7 tokens=4" %a in (1.txt) do @if exist %a
echo %a
1.txt
a.txt
mtee.rar
就好了,原来我把%a写成a%了。。晕。还有落下一个%
我也大概明白这行的意思,论坛里面给的例子,是错了。它是skip=5,我记得它给出的文本要是跳过5行就剩下磁盘信息了,无法取得文件名。而且它落下了%a,结果搞的我也落了,原来没有%a,前面的"skip=7 tokens=4" 无法传递得到的信息,这么理解对吗?
ps:托您福,我已经把windows自带的for帮助看N遍了。(还是不懂)呵呵。
[
Last edited by klot on 2006-9-13 at 23:14 ]
作者: 9527
时间: 2006-9-14 20:29
看不懂???不会吧,虽说M$的中文帮助是那个了点,不过还好XP系统的帮助要比2000系统的强些,不明白的就在论坛发帖吧.......