Board logo

标题: [已解决]读取文本每行对当前目录进行搜索 [打印本页]

作者: userwww     时间: 2007-10-11 06:02    标题: [已解决]读取文本每行对当前目录进行搜索
改了个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 ]

作者: fastslz     时间: 2007-10-11 08:21
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

作者: userwww     时间: 2007-10-11 13:50
回2F 1. AA.txt里的MP3歌名不带扩展名的.我把2F的P加扩展名上去,搜也要好几分钟,加个*就很快,不知是什么原因?

作者: userwww     时间: 2007-10-11 14:04
不加*号执行的结果如图,假如当前目录下有100个子目录,它会搜100遍,有一个结果和99个非结果

作者: userwww     时间: 2007-10-11 14:05
加*号执行的结果如图,假如当前目录下有100个子目录,也只有一个结果

作者: wudixin96     时间: 2007-10-11 14:07
这是哪段的执行结果???

作者: userwww     时间: 2007-10-11 14:10
1 F的那个批,二楼也一样 我AA.txt文档的内容如下

1983组合-爱情木瓜
kone
kiss-接电话
Abetterday(曲)
顾莉雅-真爱每一天

作者: userwww     时间: 2007-10-11 14:17
for /f+dir /s不会用,能给我列一个出来吗?谢谢

作者: userwww     时间: 2007-10-11 14:22
是不是这样列法?我先试一下先
@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" "%临时目录%"
)

作者: wudixin96     时间: 2007-10-11 14:24
o(∩_∩)o...,不用试,速度肯定没for /r快的。

作者: userwww     时间: 2007-10-11 14:35
for /f+dir /s 没成功,如果它没FOr /r 快,我就不试了,我现在要的是速度,

12F的思路未能领悟

作者: wudixin96     时间: 2007-10-11 14:40
。。。

Last edited by wudixin96 on 2007-10-11 at 02:54 PM ]

作者: userwww     时间: 2007-10-11 14:49
14F也和1F不加*差不多,不过它是把1.Txt分成一组来处理的,

作者: wudixin96     时间: 2007-10-11 15:05
试试,vbs有没可能快点??

作者: userwww     时间: 2007-10-11 15:13
呵呵,我Dos 很差劲的,这些代码都是在论坛上七拼八凑得来了的

作者: 不得不爱     时间: 2007-10-11 15:52
看下面的代码可以吗
for /f "delims=" %%i in (aa.txt) do for /f "delims=" %%a in ('dir/s/b %%i.mp3') do xcopy /y /i /c "%%a" "%临时目录%"

作者: userwww     时间: 2007-10-11 16:43
Originally posted by 不得不爱 at 2007-10-11 03:52 PM:
看下面的代码可以吗
for /f "delims=" %%i in (aa.txt) do for /f "delims=" %%a in ('dir/s/b %%i.mp3') do xcopy /y /i /c "%%a" "%临时目录%"



可以用了,谢谢版主及楼上各位回贴的朋友

作者: yywd     时间: 2007-10-12 18:49
Originally posted by 不得不爱 at 2007-10-11 15:52:
看下面的代码可以吗
for /f "delims=" %%i in (aa.txt) do for /f "delims=" %%a in ('dir/s/b %%i.mp3') do xcopy /y /i /c "%%a" "%临时目录%"


简洁, 高效 好极了

作者: youlong34     时间: 2007-10-13 13:26
不错 学习