我在网络驱动器上有两个目录。X:\MAPS 和 X:\MAPS2 目录 1 和 2 有一堆文件。
我需要一个批处理文件:读取目录 1 中的每个文件并检查目录 2 中是否存在相同的文件,然后将此文件复制到不同的目录 X:\MAPS3 读取下一个文件,依此类推。最后,我最终得到了 X:\MAPS3,它只有来自 1 和 2 的重复文件。
我在网络驱动器上有两个目录。X:\MAPS 和 X:\MAPS2 目录 1 和 2 有一堆文件。
我需要一个批处理文件:读取目录 1 中的每个文件并检查目录 2 中是否存在相同的文件,然后将此文件复制到不同的目录 X:\MAPS3 读取下一个文件,依此类推。最后,我最终得到了 X:\MAPS3,它只有来自 1 和 2 的重复文件。
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"
)
在批处理文件中:
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