回 帖 发 新 帖 刷新版面

主题:[讨论]求助各位高手“如何从一个文件夹中批量搜索出一部分文件并转移到另外的文件夹中?”

在电脑的文件夹e:/picture/中有大量的图片(图片以身份证号和姓名命名)文件,现在需要从中选择一部分图片文件转移到另外一个文件夹e:/image/。选择文件的依据是一个列有姓名,身份证号,居住地址的excel表(数据.xls),也就是通过这个excel表中的身份证号一列查找到相应的图片,都要从e:/picture/文件夹中转移到e:/image/中去。    我的目的是把一部分文件从e:/picture/文件夹中选择出来转移到e:/image/文件夹中(我需要保留这些文件),完成后就把原来的e:/picture/文件夹中的文件删除了。也就是说也可以依据选择的条件(那个excel文件名表)复制这些文件,然后粘贴到e:/image/文件夹中,因为是几万个图片文件,不可能用手工来挑选的。请高手说明详细的步骤。

回复列表 (共9个回复)

沙发

Dim fName1 As String, fName21 As String, z As String, number As String, i As Integer

fName1 = "D:\新建文件夹1\" '文件所在的文件夹
fName2 = "D:\新建文件夹2\" '要复制到的文件夹
number = "123456789012345678" '要查询的身份证号码的部分数值

For k = 0 To File1.ListCount - 1 '假如你的文件数量<32760,可以使用列表框
  z = File1.List(k)
  If InStr(z, number) = 0 Then GoTo 100 '如果文件名中没有这个号码,查找下一个
  FileCopy fName1 & z, fName2 & z
  i = i + 1: Label1 = "找到文件: " & i '符合条件的文件计数
  DoEvents
  If Abort Then Exit For 'Abort是全局公用变量,当Abort=True时,中断退出查找
100
Next

板凳

感谢一江秋水,可我一200%的菜鸟,能不能告诉我,将这些代码,复制到什么地方,保存什么样的格式!实在是不好意思啊!

3 楼

没注意你是要用在excel表中,我写的代码只能用在窗体中。要不这样,我根据这个代码编成一个小程序,你告诉我一个邮箱地址,我发过去

4 楼


真是碰到好人了!我的邮箱413226834@qq.com
万分感谢!

5 楼

已发过去了。

6 楼


能不能再发一次,我没收到呢![size=5]413226834@qq.com[/size]
谢谢!

7 楼


找到了,郁闷!这么重要的东东系统给我整到垃圾邮件里了!我先试试,回头再感谢您!

8 楼

呵呵,我这里的360还把这个小程序当作木马病毒,很多VB编译的程序360都当作了木马,非常郁闷

9 楼

又碰到了问题,我发了邮件在你邮箱里,你去看看吧!

我来回复

您尚未登录,请登录后再回复。点此登录或注册