@ECHO OFF
SETLOCAL
SET source=c:\sourcedir
SET destroot=c:\destdir
SET cdtl=0
:loploop
SET /a cdtl+=1
FOR /f "tokens=%cdtl%*delims=\" %%i IN ("%source%") DO IF NOT "%%j"=="" GOTO loploop
FOR /f "delims=" %%i IN (
' dir /b/s/ad "%source%\converted" '
) DO CALL :movedest "%%~dpni%"
)
GOTO :eof
:movedest
SET destdir=%~1
FOR /f "tokens=%cdtl%*delims=\" %%d IN (%1) DO SET destdir=%destroot%\%%e
ECHO MD "%destdir%" 2>NUL
ECHO MOVE /y "%~1\*.*" "%destdir%\"
GOTO :eof
这个
ECHO
倒数第二行中的s简单地显示了建议的操作。在验证了您想要做的事情之后,只需删除
回声
关键字执行移动。
请注意
/y
切换到
MOVE
命令将覆盖文件的任何现有目标版本。