2013-01-10 16 views
1

我在網絡驅動器上有兩個目錄。 X:\ MAPS和X:\ MAPS2 目錄1和2有一堆文件。批處理文件找到重複的文件,並將它們放在單獨的目錄中

我需要一個批處理文件,將: 閱讀目錄1,並檢查每一個文件,如果相同的文件在目錄中存在2然後將此文件複製到不同的目錄X:\ MAPS3 看了下文件,等等.. 最後,我最終有X:\ MAPS3僅具有從1和2

回答

1
for %%F in (X:\MAPS\*) do if exist "X:\MAPS2\%%~nxF" copy "%%~fF" "X:\MAPS3\%%~nxF" 

的評論擴展答案

for %%F in (X:\MAPS\*) do (
    if exist "X:\MAPS2\%%~nxF" copy "%%~fF" "X:\MAPS3\%%~nxF" 
    if exist "X:\MAPS5\%%~nxF" copy "%%~fF" "X:\MAPS3\%%~nxF" 
    if exist "X:\MAPS7\%%~nxF" copy "%%~fF" "X:\MAPS3\%%~nxF" 
    if exist "X:\MAPS8\%%~nxF" copy "%%~fF" "X:\MAPS3\%%~nxF" 
    if exist "X:\MAPS9\%%~nxF" copy "%%~fF" "X:\MAPS3\%%~nxF" 
) 
+0

我需要將其擴展到超過1個目錄...我將如何去說......例如X:\ MAPS2,5,7 ,8,9 ....提前致謝 – TankTank

+0

你想延伸哪部分?你想讓它遍歷每個目錄嗎?或者檢查每個目錄中是否存在該文件? –

+0

只需檢查每個目錄中是否存在該文件 – TankTank

0

重複的文件在一個批處理文件:

cd /d X:\MAPS 
for %%i in (*.*) do if exist "X:\MAPS2\%%1" copy "%%i" X:\MAPS3 

從命令提示:

C:>cd /d X:\MAPS 
X:\MAPS>for %i in (*.*) do if exist "X:\MAPS2\%i" copy "%i" X:\MAPS3 
相關問題