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

[文件操作] [已解决]批处理如何复制所有文件夹且只包括其中特定类型的文件?

小弟想复制某文件夹下的所有文件夹和子文件夹,但不复制文件夹内的文件(除了jpg与gif图片格式),这要怎么写?谢谢!
其实单只是复制文件夹和其子文件夹我已经找到答案了,但要么仅是要文件夹不要文件,或是要文件夹和所有文件的。
1

评分人数

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

如果某文件夹内没有 jpg 或 gif 文件呢?那么还要复制该文件夹吗?

要的。但文件夹内容为空

TOP

谢谢5楼的代码,可是我看看你的代码就觉得有问题了,结果试了一下,没有什么操作的。

TOP

其实我也在改你的代码了,但还是没有得到预期的目的,算了,看来我还是继续想办法吧。

TOP

抱歉了!因为要操作的文件夹很多的,有上百G的东东,都是图片和影片、mp4,如果就是按大家所给中文方案,我自己也是会编的,可是就像dos 论坛那帮人给的,要全部复制再删,我没有办法找个临时分区给呀,zqz0012005,你9楼的代码,如果有多个层的子目录就会出错,原本是第三层的子文件夹内的jpg文件,复制过来后,却成了第二层,其它层的也有类似的情况。偶觉得你们在编代码时,都没有自己测试过,觉得这样很不负责的,虽是有苦劳,可是完全不留意一下发贴人的感受,完全在想我是无私帮你,不管怎么你都要对我毕恭毕敬,偶是个直肠子的,如果是这样,宁可不回贴,故而也没有在本论坛上看看回贴了,而是转去其他论坛,不过你的无私奉献还是值得肯定的,谢谢!

[ 本帖最后由 ganjie 于 2009-4-6 10:32 编辑 ]

TOP

楼上的说得是,小弟因为不能时时在线看回贴,所以没有很快的回复大家,抱歉!昨天我自己已经编出来了,用了三个批处理,再用call调用,代码和zqz0012005给的不谋而合,第一个是复制全部文件夹,内容为空;第二个是只复制有图片文件夹的目录及图片,第三个只是给它加入了判断语句,看看它们两个目录子文件夹层是否相同和里面的图片是否在同一层而已。小弟不太会说话,性子又烈,如有什么地方得罪的,还请各位老大海涵。

TOP

楼上说得是,我确实没有看过你的代码,刚刚测试了一下,很好,代码比我那三个批要少得多,为了方便后来者,我现在把代码贴出,我自己那三个批就不贴出现丑了,感谢随风大哥的代码!
  1. @echo off
  2. ::目的文件夹名为 temp
  3. set wjj=temp
  4. ::复制文件夹及子文件夹
  5. for /f "delims=" %%a in ('dir/b/s/ad') do (
  6. if not exist "%wjj%\" md "%wjj%"
  7. set "var=%%a"
  8. setlocal enabledelayedexpansion
  9. set var=!var:*%cd%=!
  10. md "%wjj%!var!"
  11. endlocal
  12. )
  13. ::复制 jpg 和 gif 文件
  14. for /f "delims=" %%a in ('dir/b/s/a-d *.jpg *.gif') do (
  15. set "var=%%a"
  16. setlocal enabledelayedexpansion
  17. set var=!var:*%cd%=!
  18. copy /y "%%a" "%wjj%!var!"
  19. endlocal
  20. )
  21. pause
  22. 已经经过测试,代码正确!
复制代码

TOP

zqz0012005   ,因为已经有了随风的代码,我就不特意改成批处理测试了,18楼的代码,我早前就已经在cmd窗口测试过了,正确!可能是我在写批处理时有漏洞了吧,谢谢 zqz0012005 ,早先的话语过激,还望海涵我这粗人。

TOP

返回列表