[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理如何根据列表文件查找并复制文件?

本帖最后由 tanrr 于 2018-8-27 10:11 编辑

根据文本文件1.txt,该文件每行是一个文件名(不含扩展名),如下所示:
rink
bang
nine
hkjgkljkhkgj
jfkjgklhkglkjl

查找指定文件夹e:/2(一定要包括子文件夹)下匹配的文件(完全匹配,不区分大小写),如果找到:
1.将找到的文件复制到指定文件夹e:/3和d:/3
2.将找到的文件的文件名写入4.txt,格式为每行“文件名”+空格+“[sound:_文件名.扩展名]”,未找到的文件不写入,如下所示:
rink [sound:_rink.mp3]
bang [sound:_bang.mp3]
nine [sound:_nine.wav]

最后显示总查找条数,找到条数,未找到条数。

文本文件编码UTF-8。
请问如何才能实现?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 2# xczxczxcz

果真是大神,一次就运行成功,非常感谢!
不过有个问题,因为源文件夹e:/2/里面有10万多个文件,导致查找速度极慢,看来查找这个方案是不行的。

不知以下这个直接复制的方案是否可行:

有一个文本文件1.txt,该文件每行是一个文件名(不含扩展名),如下所示:
rink
bang
nine
hkjgkljkhkgj

1.不查找,直接根据1.txt将相应文件复制到目标文件夹e:/3和d:/4,显示复制总数、成功、失败的数目。

2.将复制失败的文件以及复制总数、成功、失败的数目写入3.txt,复制成功的不用写入。

3.根据生成的目标文件夹e:/3,将文件列表写入4.txt,格式为每行“文件名”+空格+“[sound:_文件名.扩展名]”,如下所示:
rink [sound:_rink.wav]
bang [sound:_bang.wav]
nine [sound:_nine.wav]

TOP

回复 4# xczxczxcz
厉害了!运行速度飞快,而且资源占用小,非常感谢!

TOP

回复 5# Batcher
已用4楼代码完美解决,谢谢!

TOP

返回列表