中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-06 05:03
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]读取文本每行对当前目录进行搜索 查看 1,888 回复 18
楼 主 [已解决]读取文本每行对当前目录进行搜索 发表于 2007-10-11 06:02 ·  中国 广东 东莞 电信
初级用户
★★
积分 136
发帖 57
注册 2007-09-08 11:11
18年会员
UID 96854
性别 男
状态 离线
改了个P ,文本AA.txt中每行为MP3歌名,读取aa.txt中的每一行内容,对当前目录(包括子目录)进行搜索,我这个P,要加下面那个*号不到1分钟就搜出结果了,但这样会找到多几个不想要的文件出来,,如果不加*,要搜几分钟那么久,那位指点一下

for /f "delims=" %%i in (aa.txt) do (
for /r %%a in ("*%%i.mp3") do xcopy /y /i /c "%%a" "%临时目录%"
)

可以用了,谢谢各位回贴的朋友,解决方案在16F

[ Last edited by userwww on 2007-10-11 at 04:45 PM ]
2 发表于 2007-10-11 08:21 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
1. AA.txt里的MP3歌名带扩展名吗?
假设带了
@echo off
for /f "delims=" %%i in (aa.txt) do (
for /r %%a in (%%i) do echo xcopy /y /i /c "%%a"
)
pause
第一高手 第二高手

3 发表于 2007-10-11 13:50 ·  中国 广东 东莞 电信
初级用户
★★
积分 136
发帖 57
注册 2007-09-08 11:11
18年会员
UID 96854
性别 男
状态 离线
回2F 1. AA.txt里的MP3歌名不带扩展名的.我把2F的P加扩展名上去,搜也要好几分钟,加个*就很快,不知是什么原因?
4 发表于 2007-10-11 14:04 ·  中国 广东 东莞 电信
初级用户
★★
积分 136
发帖 57
注册 2007-09-08 11:11
18年会员
UID 96854
性别 男
状态 离线
不加*号执行的结果如图,假如当前目录下有100个子目录,它会搜100遍,有一个结果和99个非结果
5 发表于 2007-10-11 14:05 ·  中国 广东 东莞 电信
初级用户
★★
积分 136
发帖 57
注册 2007-09-08 11:11
18年会员
UID 96854
性别 男
状态 离线
加*号执行的结果如图,假如当前目录下有100个子目录,也只有一个结果
6 发表于 2007-10-11 14:07 ·  中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
这是哪段的执行结果???
7 发表于 2007-10-11 14:10 ·  中国 广东 东莞 电信
初级用户
★★
积分 136
发帖 57
注册 2007-09-08 11:11
18年会员
UID 96854
性别 男
状态 离线
1 F的那个批,二楼也一样 我AA.txt文档的内容如下

1983组合-爱情木瓜
kone
kiss-接电话
Abetterday(曲)
顾莉雅-真爱每一天
8 发表于 2007-10-11 14:17 ·  中国 广东 东莞 电信
初级用户
★★
积分 136
发帖 57
注册 2007-09-08 11:11
18年会员
UID 96854
性别 男
状态 离线
for /f+dir /s不会用,能给我列一个出来吗?谢谢
9 发表于 2007-10-11 14:22 ·  中国 广东 东莞 电信
初级用户
★★
积分 136
发帖 57
注册 2007-09-08 11:11
18年会员
UID 96854
性别 男
状态 离线
是不是这样列法?我先试一下先
@echo off
for /f "delims=" %%i in ('dir /s /b /a-d aa.txt') do (
for /r %%a in ("*%%i.mp3") do xcopy /y /i /c "%%a" "%临时目录%"
)
10 发表于 2007-10-11 14:24 ·  中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
o(∩_∩)o...,不用试,速度肯定没for /r快的。
11 发表于 2007-10-11 14:35 ·  中国 广东 东莞 电信
初级用户
★★
积分 136
发帖 57
注册 2007-09-08 11:11
18年会员
UID 96854
性别 男
状态 离线
for /f+dir /s 没成功,如果它没FOr /r 快,我就不试了,我现在要的是速度,

12F的思路未能领悟
12 发表于 2007-10-11 14:40 ·  中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
。。。

[ Last edited by wudixin96 on 2007-10-11 at 02:54 PM ]
13 发表于 2007-10-11 14:49 ·  中国 广东 东莞 电信
初级用户
★★
积分 136
发帖 57
注册 2007-09-08 11:11
18年会员
UID 96854
性别 男
状态 离线
14F也和1F不加*差不多,不过它是把1.Txt分成一组来处理的,
14 发表于 2007-10-11 15:05 ·  中国 天津 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
试试,vbs有没可能快点??
15 发表于 2007-10-11 15:13 ·  中国 广东 东莞 电信
初级用户
★★
积分 136
发帖 57
注册 2007-09-08 11:11
18年会员
UID 96854
性别 男
状态 离线
呵呵,我Dos 很差劲的,这些代码都是在论坛上七拼八凑得来了的
论坛跳转: