合并多个文件夹中的文件批处理

1.在目标目录中新建一个文本文档

2.

@echo off
(for /f "delims=" %%a in ('dir /b /s /ad') do (
        move /-y "%%a\*.*" "%%a\.."&&rd %%a
))>nul 2>nul
for /f "delims=" %%i in ('dir /ad /b /s') do call :rd_dir_empty "%%i"
goto :eof
rem ======= 删除空目录 =========
:rd_dir_empty
rd %1 2>nul||goto :eof
set dir_route=%1
for /f "delims=" %%i in (%dir_route%) do (
     set dir_route="%%~dpi"
     for /f "delims=" %%j in ('dir /ad /b "%%~dpi"')do rd "%%~dpi%%j" 2>nul||goto :eof
)
:: 把路径最后的\去掉,以便set route_deepest="%%~dpi"能取到上一层路径
if "%dir_route:~-2,1%"=="\" set dir_route="%dir_route:~1,-2%"
if /i not "%cd%"==%dir_route% call :rd_dir_empty %dir_route%
goto :eof

3.更改文件的后缀名为bat,双击运行即可

 

 

合并多文件夹内文件到本目录

 

版权声明:admin 发表于 2022-04-26 9:20:45。
转载请注明:合并多个文件夹中的文件批处理 | 甄选网

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...