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

[文件操作] 【已解决】批处理如何实现特定文件名文件的复制和归档?

本帖最后由 gxx2002 于 2015-3-2 16:48 编辑

问题:我在文本文档中有一个文件名列表,想要从一个文件夹(其中包含了所需文件以及多余的文件)中根据列表提取出这些文件。有没有软件可以做到以上要求的批量搜索?由于文件名数上百,不可能用windows自带搜索来搜,也不能用文件名加逗号“,”法(因为列表实在太长,难以一个一个写逗号)。

解答:这种情况用批处理简单些,假定你的那个文件名列表是file.txt,你的文件夹是d盘的sample,要把这个file.txt中有的在sample下存在的的文件复制到d盘的new文件夹,打开记事本贴入以下内容:
  1. @for /f %%i in (file.txt) do if exist "d:\sample\%%i"  copy "d:\sample\%%i"  d:\new
复制代码
保存为bat文件(也就是文件类型选择所有文件,文件名随便填比如ss.bat)
  把这个ss.bat跟你的file.txt放在一个目录下,双击运行这个bat就行了。

需要改进的地方:对于这个公式,还需要3个功能:
1. 需要搜索的文件夹中,包含子文件夹;有些子文件夹在目前额命令中是不支持的。
2. 在上面的“file.TXT”文件中,如果输入的是部分文件名(如文件名中间的几个字符),那么就搜索不到了。
3. 还需要一个功能,能否限定只在某个修改日期段范围内的文件搜索?超出这个日期段的,就不搜了

如何改进?
1

评分人数

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

回复 2# CrLf


    大神,我修改了一下,还是不行!
    大神是否有QQ,能否帮忙?!

  感激不尽!

TOP

回复 2# CrLf


    实际处理结果还是不行,我用的是win7的,不知道是系统问题,还是我修改的不对,烦请大神帮忙!

TOP

另外,如果子目录下还有子目录,这个程序能否支持?

TOP

我把我需要做的东西放到附件中了,烦请大神帮忙!

TOP

回复 7# pcl_test

file.txt文件中的内容:仅仅是文件名的部分,但是是多个部分的集合。
比如,里面把人的姓氏写上,后面待处理文件里面,文件名是以人的全名来命名。只要把姓名中含有这个姓氏的文件提出来归档就好。

TOP

回复 7# pcl_test


    你可以下载我刚才发的RAR文件,里面就有实例,您能否帮忙操作?
   真的非常感谢!

TOP

回复 10# pcl_test


    可以采用输入日期的方式,这样更好,更灵活!

TOP

回复 10# pcl_test


    大神有没有QQ?非常希望可以向你请教!

TOP

回复 13# bailong360


    我试了,不行!没有一个文件被拷贝出来。
   我的文件名.TXT内不是存的全名或者路径+全名,而是全名的一个部分。

  您看能否帮忙下载一下我上传的文件?直接在里面编辑?多谢!

TOP

回复 16# pcl_test


    感谢您的代码!感觉很接近了!
    我的 file.txt文件里面都是数字,数字之间是用回车间隔,并且我要找的文件也都是文件名带数字的。我需要找跟这些数字相关联的但是遇到新的问题:
1. 会在“D:/NEW”下生成不少新的文件夹,文件夹名称的最后一个字段是数字。我的file.txt里面有2、3、4、7这4个数字,然后D:/NEW下也就有了4个文件夹,文件夹名称就分别是2、3、4、7。很奇怪!我希望是都保存在一个文件中的,这样又新增了新的文件夹了。
2. 会在"D:/NEW"中的2文件夹中,把原文件夹中所有的项目都拷贝进来了,不管是不是FILE.TXT里面需要的,都统统考进来了。

大神请帮忙!

TOP

回复 18# pcl_test


    还是有个问题,他把所有的文件都拷出来了!不仅是在file.txt里面的文件,而现在只是需要file.txt文件中规定的几个文件!

   烦请大神您帮忙!也麻烦大神直接在我附上的RAR文件中修改吧?多谢啊!
  多谢!

TOP

标题

回复 20# pcl_test
    大神,我用的是win7 64bit是否是这个问题?

TOP

真的多谢大神!

TOP

回复 25# pcl_test


    多谢大神!非常感谢!已经解决了!

TOP

返回列表