
【已解決】批處理根據(jù)A的結(jié)構(gòu)和名稱從B中提取并復(fù)制到CF盤下有A、B、C三個(gè)文件夾,A文件夾下有深層子目錄,各級(jí)子目錄均有文件,B文件夾下有完整的windows系統(tǒng)文件,現(xiàn)在需要寫一串批處理代碼,要求根據(jù)A文件夾的結(jié)構(gòu)架構(gòu)和文件名,從B文件夾中提取文件夾和文件名,然后復(fù)制到C文件夾,如何寫?我試了從AI中復(fù)制出來(lái)的代碼無(wú)法運(yùn)行(不正確)哪位大神幫我修改一下,或者重謝新寫一個(gè),謝謝(不存在新與舊)
- @echo off
- setlocal enabledelayedexpansion
- set A=F:A
- set B=F:B
- set C=F:C
- :: 調(diào)試開關(guān):1=開啟詳細(xì)日志,0=關(guān)閉日志
- set DEBUG=1
- :: 1. 創(chuàng)建C目錄結(jié)構(gòu)并輸出調(diào)試信息
- for /r %A% %%d in (*) do (
- set relativePath=%%~pd
- if not exist %C%!relativePath! (
- md %C%!relativePath%
- if %DEBUG%==1 echo 創(chuàng)建目錄:%C%!relativePath!
- )
- )
- :: 2. 處理每個(gè)文件并輸出調(diào)試信息
- for /r %A% %%f in (*) do (
- set fileName=%%~nxf
- set targetDir=%C%%%~pf%
- :: 在B中查找第一個(gè)匹配的文件
- set found=false
- for /r %B% %%b in (*%fileName%) do (
- copy /y %%b %targetDir%
- if %DEBUG%==1 echo 復(fù)制文件:%%b -> %targetDir%
- set found=true
- break
- )
- if not found (
- if %DEBUG%==1 echo 未找到文件:%fileName% 在B中...
- )
- )
- echo **************************************
- echo 復(fù)制完成!
- echo **************************************
nclick="copycode($('code0'));">復(fù)制代碼