批处理文件以查找重复文件并将它们放在单独的目录中

时间:2013-01-10 20:15:23

标签: batch-file dos

我在网络驱动器上有两个目录。 X:\ MAPS和X:\ MAPS2 目录1和2有一堆文件。

我需要一个批处理文件: 读取目录1中的每个文件并检查目录2中是否存在相同文件,然后将此文件复制到另一个目录X:\ MAPS3 阅读下一个文件,依此类推.. 最后,我最终得到X:\ MAPS3,它只有1和2的重复文件。

2 个答案:

答案 0 :(得分: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"
)

答案 1 :(得分: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