1

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

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

4

2 回答 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"
)
于 2013-01-10T20:41:29.030 回答
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
于 2013-01-10T20:40:16.330 回答