例如,我有三个文件夹中的文件:
+-------------------+---------------------------------+-------------+
| Folder1 | Folder2 | Patches |
+-------------------+---------------------------------+-------------+
| - OldFile1.bin | - OldFile1.bin (Not Modified) | |
| - OldFile2.bin | - NewFile2.bin (Modified) | |
| - OldFile3.bin | - OldFile3.bin (Not Modified) | |
| - ........ | - ......... | |
| - OldFileN.bin | - OldFileN.bin (Modified) | |
+-------------------+---------------------------------+-------------+
然后我想使用xDelta为所有修改过的文件创建补丁:
FOR %%P in (Folder1\*.bin) do (
call xdelta.exe -9 -e -s "Folder1\%%~nP" "Folder2\%%~nP" "Patches\%%~nP.xdelta"
)
在Patches文件夹中,我从Folder1获取0kb大小的所有文件,这些文件未被修改。怎么忽略它们?
在文档中没有任何关于哈希或其他文件检查的说法。
答案 0 :(得分:2)
您可以在生成修补程序之前测试是否有任何修改
FOR %%P in ("Folder1\*.bin") do (
fc /b "Folder1\%%~nxP" "Folder2\%%~nxP" >nul 2>&1 || xdelta.exe -9 -e -s "Folder1\%%~nxP" "Folder2\%%~nxP" "Patches\%%~nP.xdelta"
)