Board logo

标题: [文件操作] 如何批处理复制三级文件夹到一级文件夹 [打印本页]

作者: wshw220058    时间: 2017-1-19 14:57     标题: 如何批处理复制三级文件夹到一级文件夹

如:
A-AA-AAA
A-BB-BBB
A-CC-CCC
...

效果:
新建文件夹-AAA BBB CCC...
作者: wshw220058    时间: 2017-1-19 15:32

自己顶贴!!!
作者: Nsqs    时间: 2017-1-21 02:40

本帖最后由 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
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2