标题: [文件操作] 如何批处理复制三级文件夹到一级文件夹 [打印本页]
作者: 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 编辑
- @echo off
- set "folder=A" %和A文件夹放在一起,不是放在A文件夹里面%
- for /d %%1 in ("%folder%\*")do (
- for /d %%2 in ("%%1\*")do xcopy /eiy "%%1" "%~dp0\new\*"
- )
复制代码
或者灵活性高的方法- :on error resume next
- :sub class_bat
- ' 2>nul &@echo off&cls&set "folder=A" %和A文件夹放在一起,不是放在A文件夹里面%
- ' 2>nul &for %%1 in (%folder%)do set "folder=%%~dpnx1"
- ' 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
- :end sub
- set ws=wsh.stdin
- set regexp=new regexp
- with regexp
- m=3 '是3级目录就修改为3
- .global=-1:.pattern="\\"
- s=ws.readline:n=.execute(s).count
- do
- s=ws.readline:c=.execute(s&"\").count+1
- if n+m>c then wsh.echo ".":wsh.quit
- if n+m=c then wsh.echo s
- loop until ws.atendofstream
- end with
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |