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


  Quote:
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


  Quote:
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
不错 学习