比较两个windows文件夹的差异,并将它们发布到一个新文件夹(Beyond Compare)



我有以下场景

Folder 1
 -Folder a
      -File1.txt
      -Img1.png
 -Folder b
      -File2.txt
      -Img2.png
Folder 2
 -Folder a
      -File1.txt (File 1 modified)
      -Img1.png   (No change)
 -Folder b
      -File3.txt (New file added)
      -Img2.png  (no change)

基本上,我希望输出文件夹具有以下文件(在原始结构中修改或添加,保留结构)

OutputFolder
  -Folder a
       -File1.txt
  -Folder b 
       -File3.txt

我正试图使用Beyond Compare命令行来完成这项工作,但我找不到任何合适的参数,我不想手动循环所有文件(太多文件)或使用SVN进行更改。我可以使用任何其他工具/脚本来实现这一点吗?

如果更改仅在"文件夹2"-结构中,并且文件夹1将始终不被处理,我可以使用它:

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "TOKENS=2,* DELIMS=  " %%A IN ('ROBOCOPY "Folder 2" "Folder 1" /MIR /XX /NDL /NJH /NJS /L') DO (
  SET tmpFolder=%%~dpB
  SET tmpFolder=!tmpFolder:Folder 2=OutputFolder!
  XCOPY "%%~B" "!tmpFolder!" /E /F /H /R /C
)
ENDLOCAL

Robocopy将只列出文件夹2和文件夹1之间的更改,for循环将文件复制到"outputfolder",保持文件夹结构

最新更新