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

[文件操作] 如何批处理复制三级文件夹到一级文件夹

[复制链接]
发表于 2017-1-19 14:57:22 | 显示全部楼层 |阅读模式
如:
A-AA-AAA
A-BB-BBB
A-CC-CCC
...

效果:
新建文件夹-AAA BBB CCC...
 楼主| 发表于 2017-1-19 15:32:29 | 显示全部楼层
自己顶贴!!!
发表于 2017-1-21 02:40:26 | 显示全部楼层
本帖最后由 Nsqs 于 2017-1-21 09:07 编辑
  1. @echo off
  2. set "folder=A" %和A文件夹放在一起,不是放在A文件夹里面%
  3. for /d %%1 in ("%folder%\*")do (
  4.         for /d %%2 in ("%%1\*")do xcopy /eiy "%%1" "%~dp0\new\*"
  5. )
复制代码
或者灵活性高的方法
  1. :on error resume next
  2. :sub class_bat
  3. ' 2>nul &@echo off&cls&set "folder=A" %和A文件夹放在一起,不是放在A文件夹里面%
  4. ' 2>nul &for %%1 in (%folder%)do set "folder=%%~dpnx1"
  5. ' 2>nul &(for /f %%1 in ('^(echo %folder%^&dir /s/b/ad %folder%\*^)^|cscript -nologo -e:"vbs" "%~0"')do if "%%1"=="." (echo 超出子目录层级,请重新分配目录级数!)else xcopy /eiy "%%1" "%~dp0\new\*")&pause&exit
  6. :end sub
  7. set ws=wsh.stdin
  8. set regexp=new regexp
  9. with regexp
  10.         m=3 '是3级目录就修改为3
  11.         .global=-1:.pattern="\"
  12.         s=ws.readline:n=.execute(s).count
  13.         do
  14.                 s=ws.readline:c=.execute(s&"").count+1
  15.                 if n+m>c then wsh.echo ".":wsh.quit
  16.                 if n+m=c then wsh.echo s
  17.         loop until ws.atendofstream
  18. end with
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 17:05 , Processed in 0.011401 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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