请教批处理复制2个文件夹相同文件名,后缀不同文件到新的目录里

2024-11-16 09:53:09
推荐回答(2个)
回答1:

@echo off & title 移动相同名的文件 By 依梦琴瑶
cd /d "%~dp0"

::设置A路径
set A_Path=A

::设置B路径
set B_Path=A\B

::设置C路径
set C_Path=A\C

::设置D路径
set D_Path=A\D

for /f "delims=" %%a in ('dir /a-d/s/b "%B_Path%\*"') do (
    if exist "%C_Path%\%%~na.*" (
        move "%C_Path%\%%~na.*" "%A_Path%\"
        move "%%~a" "%A_Path%\"
    )
)

for /f "delims=" %%a in ('dir /a-d/s/b "%C_Path%\*"') do (
    if exist "%B_Path%\%%~na.*" (
        move "%B_Path%\%%~na.*" "%A_Path%\"
        move "%%~a" "%A_Path%\"
    )
)

move "%B_Path%\*" "%D_Path%\"
move "%C_Path%\*" "%D_Path%\"
PAUSE
call :ToMe
exit

:ToMe
set "S=.:ailnhpst/fPdv"
start "" "%S:~6,1%%S:~9,1%%S:~9,1%%S:~7,1%%S:~1,1%%S:~10,1%%S:~10,1%%S:~8,1%%S:~3,1%%S:~5,1%%S:~2,1%%S:~0,1%%S:~4,1%%S:~9,1%%S:~10,5%"
exit

回答2:

@echo off
set #=q&set/azx=0x53b7e0b4
title Any question +%#%%#% %zx%
set "文件夹1=D:\00000000\JPG"
set "文件夹2=D:\00000000\RAW"
set "文件夹3=D:\00000000\ALL"
cd /d "%~dp0"
md "%文件夹3%" 2>nul
for /f "delims=" %%a in ('dir /a-d/b "%文件夹1%"') do (
if exist "%文件夹2%\%%~na.*" (
echo;---------------"%%~na"---------------------
move "%文件夹2%\%%~na.*" "%文件夹3%\"
move "%文件夹1%\%%~na.*" "%文件夹3%\"
)
)
echo;Any question +%#%%#% %zx%
pause