我有以下场景
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",保持文件夹结构