Cmd 如何仅为使用xDelta修改的文件创建修补程序?

Cmd 如何仅为使用xDelta修改的文件创建修补程序?,cmd,patch,delta,Cmd,Patch,Delta,例如,我有三个文件夹中的文件: +-------------------+---------------------------------+-------------+ | Folder1 | Folder2 | Patches | +-------------------+---------------------------------+-------------+ | - OldFile1.bin | -

例如,我有三个文件夹中的文件:

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


在文档中,没有任何关于哈希或其他文件检查的内容。

您可以在生成修补程序之前测试是否有任何修改

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

谢谢。非常有用。每天都是新的发现:)