本帖最后由 aloha20200628 于 2025-3-1 08:13 编辑
回复 1# 大地
以下批处代码先遍历 F:\A 各级目录中的每个文件,并逐一在 F:\A 中搜索定位,定位成功后连其目录带文件复制到 F:\C 目录下... | @echo off &set "da=F:\A" &set "db=F:\B" &set "dc=F:\C" | | for /f "delims=" %%F in ('dir /b/s/a-d "%da%\*" ') do for /f "delims=" %%i in ('dir /b/s/a-d "%db%\%%~nxF" ') do ( | | set "p=%%~dpi" &set "i=%%i" &setlocal enabledelayedexpansion | | xcopy /iyq "!i!" "!p:%db%=%dc%!" &endlocal) | | pause&exit/bCOPY |
如果要从 F:\A 完整复制子目录及其文件直接到 F:\C 用以下一行流代码即可(不必再绕经 F:\B 作同名提取)...@xcopy /siyq "F:\A" "F:\C"COPY 如果楼主确认就是要从 F:\B 中提取与 F:\A 下对应的同名文件并采用 F:\A 中的对应目录复制到 F:\C,可用以下代码... | @echo off &set "da=F:\A" &set "db=F:\B" &set "dc=F:\C" | | for /f "delims=" %%F in ('dir /b/s/a-d "%da%\*" ') do for /f "delims=" %%i in ('dir /b/s/a-d "%db%\%%~nxF" ') do ( | | set "p=%%~dpF" &set "i=%%i" &setlocal enabledelayedexpansion | | xcopy /iyq "!i!" "!p:%da%=%dc%!" &endlocal) | | pause&exit/bCOPY |
|