for /F "tokens=1* delims=*" %a in ('dir /b /s /a-d B\*')) do if exist “A\%~na" copy /Y "A\%~na" "%a" 这个样子?这是假设当前是在同处 A B 两目录的上级目录下,否则要把它们的路径写全了如 C:\A 或 D:\whatt\B 。直接运行,保存为批处理的话 % 要变成 %%
@echo off set pathA=%~dp0A set pathB=%~dp0B cd /d %pathA% for /f "tokens=*" %%I in ('dir /b /s %pathB%') do ( for /f "tokens=*" %%J in ('dir /b /s %%~nxI') do ( copy /Y %%J %%I ) ) exit
这个样子?这是假设当前是在同处 A B 两目录的上级目录下,否则要把它们的路径写全了如 C:\A 或 D:\whatt\B 。直接运行,保存为批处理的话 % 要变成 %%
set pathA=%~dp0A
set pathB=%~dp0B
cd /d %pathA%
for /f "tokens=*" %%I in ('dir /b /s %pathB%') do (
for /f "tokens=*" %%J in ('dir /b /s %%~nxI') do (
copy /Y %%J %%I
)
)
exit