Board logo

标题: (问题已解决)大哥们.,,,为什么这个for会出错呢!!! [打印本页]

作者: akin520     时间: 2007-8-2 12:35    标题: (问题已解决)大哥们.,,,为什么这个for会出错呢!!!

这些命令单行运行的时间都对,,就是写到批处理就出错,帮忙看看!
up.bat内容如下
tree /f game_update >a.txt  //获取目录里面的文件名,保存为a.txt
findstr /c:"exe" a.txt >b.txt  //a.txt里面有exe字符的,输出到b.txt
for /f "tokens=1* delims=. " %a in (b.txt) do @echo http://192.168.1.251/game_update/%a.%b >1.txt
    //将文件里面的内容转成网址,,这句单名执行没问题,但是不能导出到1.txt文件里面,只能显示最后一行
del a.txt
del b.txt
a.txt的内容如下:
卷 新加卷 的文件夹 PATH 列表
卷序列号为 248C-8CCF
D:\GAME_UPDATE
    丝路传说.exe
    大唐.exe
    大话西游.exe
    天使之恋.exe
    天龙八部.exe
    梦幻西游.exe
    武林外传.exe
    跑跑卡丁车.exe
   
没有子文件夹

b.txt的内容如下:
    丝路传说.exe
    大唐.exe
    大话西游.exe
    天使之恋.exe
    天龙八部.exe
    梦幻西游.exe
    武林外传.exe
    跑跑卡丁车.exe
注意,,前面有4个空格
但是不输出1.txt,,找了半天没找到原因

[ Last edited by akin520 on 2007-8-2 at 12:49 PM ]
作者: akin520     时间: 2007-8-2 12:37    标题: 单句执行

D:\>for /f "tokens=1* delims=. " %a in (b.txt) do @echo http://192.168.1.251/gam
e_update/%a.%b
http://192.168.1.251/game_update/丝路传说.exe
http://192.168.1.251/game_update/大唐.exe
http://192.168.1.251/game_update/大话西游.exe
http://192.168.1.251/game_update/天使之恋.exe
http://192.168.1.251/game_update/天龙八部.exe
http://192.168.1.251/game_update/梦幻西游.exe
http://192.168.1.251/game_update/武林外传.exe
http://192.168.1.251/game_update/跑跑卡丁车.exe
作者: wudixin96     时间: 2007-8-2 12:42
%a在批处理应该用%%a的。%b也一样,%%b
作者: akin520     时间: 2007-8-2 12:44
谢谢大哥,,这个给搞忘了,,还有一事,,为什么不能输出到1.txt里面呢,?
作者: wudixin96     时间: 2007-8-2 12:44
for /f "tokens=1* delims=. " %%a in (b.txt) do @echo http://192.168.1.251/game_update/%%a.%%b >>1.txt
作者: akin520     时间: 2007-8-2 12:45    标题: 1.txt 的内容,

1.txt 的内容,只有一个
http://192.168.1.251/game_update/跑跑卡丁车.exe
作者: akin520     时间: 2007-8-2 12:47
好了,,谢谢大哥,,要用>>,,不能用>呀,,和和,,郁闷,,这些都没搞明白!!!
作者: wudixin96     时间: 2007-8-2 12:48
其实个人认为可以这样

for /f  %%a in (b.txt) do @echo http://192.168.1.251/game_update/%%a>>1.txt
作者: wudixin96     时间: 2007-8-2 12:50
>会覆盖前面已经输入的
>>的意思是添加到末尾
作者: akin520     时间: 2007-8-2 12:50
如果用>的话,,,在for中,,会把原来的都全部替换了,,,所以只留下最后一下,,,