0

我有以下情况

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。我可以使用任何其他工具/脚本来实现这一目标吗?

4

1 回答 1

1

如果更改仅在“文件夹 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 循环会将文件复制到“输出文件夹”,保持文件夹结构

于 2014-11-11T06:30:30.600 回答