检查 Windows 目录中的唯一文件

检查 Windows 目录中的唯一文件

我的 D 盘上有两个目录。D:\1D:\2。目录 1 和 2 以及子目录中有一堆文件。

我需要一个批处理文件来:

  • 读取目录 1 中的每个文件,并检查目录 2 中是否存在相同的文件
  • 避免重复文件
  • 仅将目录 2 中不存在的文件移动到具有C:\3相同文件夹结构的其他目录。
  • 读取下一个文件,依此类推。

最后我得到的C:\3只有来自 1 的唯一文件。我知道我可以拖放...但我需要在批处理文件中使用它。

答案1

robocopy "D:\dira" "D:\dirb" /MIR /XO /W:5 /V /LOG:"D:\dira\log.txt"
exit

另存为foo.cmd并在需要时运行,或者在任务管理器中安排它

来源

  • /mir:镜像目录树
  • /xo:排除旧文件。
  • /w:5:指定重试之间的等待时间(以秒为单位)
  • /v:生成详细输出,并显示所有跳过的文件。
  • /log:将状态输出写入日志文件(覆盖现有的日志文件)。

答案2

@echo off
set "d1=D:\Login1"
set "d2=D:\Login2"
set "d3=D:\RESULT"

for /R "%d1%" %%F in ("*") do (
    if not exist "%d2%\%%~nxF" move "%%~fF" "%d3%"
)

正如 Kalim 所提议的https://superuser.com/questions/624007/by-searching-dir1-and-dir2-and-move-unique-file-from-dir1-to-dir3

相关内容