【问题标题】:How to create patch only for modified files with xDelta?如何仅使用 xDelta 为修改过的文件创建补丁?
【发布时间】:2014-10-24 19:13:09
【问题描述】:

例如我在三个文件夹中有文件:

+-------------------+---------------------------------+-------------+
|     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 大小的文件。如何忽略它们?

在文档中没有提到哈希或其他文件检查。

【问题讨论】:

    标签: cmd patch delta


    【解决方案1】:

    生成补丁前可以测试是否有修改

    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"
    )
    

    【讨论】:

    • 谢谢。很有用。每天都有新发现:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多