找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26255|回复: 7

[文件操作] 批处理怎样把子文件夹按顺序合并到指定文件夹?

[复制链接]
发表于 2017-11-24 16:31:45 | 显示全部楼层 |阅读模式
思路是这样的: A文件夹中有1、2、3、4、5、6、7...等文件夹,1234567中有共同的文件夹a,现在想写一个批处理,把a从A中按照1234567...的顺序复制到新文件夹B中,并且合并替换,请大神们支招,感谢!
发表于 2017-11-24 16:51:14 | 显示全部楼层
若要实现,必须知道所谓的1,2,3……这些文件夹的真实命名规则。
 楼主| 发表于 2017-11-24 16:59:07 | 显示全部楼层
回复 2# yhcfsr
谢谢回复,1、2、3、4...这些文件夹的命名是按照0.0.0.1、0.0.1.1、1.0.0.3、2.0.0.1这种数字大小来命名的
发表于 2017-11-24 17:18:48 | 显示全部楼层
回复 3# HerveyHu


    就是说文件名通过点号划为4段,每段的数字在0-9之间,是吗?
 楼主| 发表于 2017-11-25 00:07:32 | 显示全部楼层
回复 4# yhcfsr 是的
发表于 2017-11-25 02:49:38 | 显示全部楼层
本帖最后由 yhcfsr 于 2017-11-25 02:54 编辑
  1. @echo off
  2. ::设置源目录
  3. set "source=D:\A"
  4. ::目的目录
  5. set "destination=E:\B"
  6. ::要复制的目录名
  7. set "folder=a"

  8. ::设置源目录创建相关目录,删除历史日志
  9. if not exist %destination% md %destination%
  10. if not exist %destination%%folder% md %destination%%folder%
  11. if exist %destination%content.txt del %destination%content.txt

  12. for /r /d %%i in (*) do (
  13. if "%%~nxi"=="%folder%" (
  14. copy "%%i" "%destination%%folder%"
  15. echo %%~dpnxi>>content.txt
  16. )
  17. )
  18. move content.txt %destination%
复制代码
批处理文档最好另存为ANSI编码,放在A目录下执行,相关目录自行修改
在目的目录有一个名为content.txt的文档,记录了批处理在运行过程中复制目录的顺序,请检查它的排序是否正确,如果有误请不要使用。
 楼主| 发表于 2017-11-27 15:55:04 | 显示全部楼层
回复 6# yhcfsr
嗯,感谢,我尝试一下,有问题,再请教你。
 楼主| 发表于 2017-11-27 16:11:27 | 显示全部楼层
回复 6# yhcfsr
目前实验成功了,感谢,后续如果有疑问,再请教你,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 00:19 , Processed in 0.018379 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表