@echo off
set Source=Test
set Destiny=Banana
if not exist "%Source%" exit
if not exist "%Destiny%" md "%Destiny%"
for /f "delims=" %%a in ('dir /s /b /a-d "%Source%\*.*"') do if not exist "%Destiny%\%%~nxa" (move "%%a" "%Destiny%\") else (
set Contador=1
call :Rename "%%~a"
)
popd
exit
:Rename
set /a Contador+=1
if exist "%Destiny%\%~n1 (%Contador%).%~x1" (goto :Rename) else (move "%~1" "%Destiny%\%~n1 (%Contador%).%~x1")
goto :EOF
帖子中的一些建议 如何从文件夹树中复制文件,使用 Robocopy 删除所有文件夹?
在命令提示符 (CMD) 中,将当前文件夹设置为源文件夹(使用
cd
)并输入以下命令:要指定开始的目录:
此批处理文件将源子文件夹中的所有文件复制到一个文件夹并重命名文件,以防子文件夹结构中存在同名文件: