基于二进制文件比较的Windows命令行复制

基于二进制文件比较的Windows命令行复制

我正在寻找一个实用程序(内置或非内置),它可以让我基本上执行类似 robocopy 的操作,但使用二进制文件比较而不是日期比较。

本质上,我有一个 git hook,它会检查仓库的最新版本,然后运行 ​​robocopy 将已更改的文件复制到特定位置。无论出于什么原因,它都认为所有文件都已更改,大概是因为签出过程触及了它们的日期戳。我需要一种使用二进制文件检查来执行此操作的方法。速度不是首要考虑因素,我只需要它准确并且不会每次都覆盖整个远程文件夹。

答案1

只需编写一个复制脚本并使用 FC 命令的输出作为输入条件。FC file1.tmp file2.tmp 如果结果是“未遇到差异”,则将条件设置为跳过,否则进行复制。

答案2

不管怎样,我最终使用了 BeyondCompare,这是一款我们恰好拥有许可证的付费产品。

BComp.com @"X:\Path\To\bc.cfg" /silent

bc.cfg 的位置

log verbose "X:\path\to\log\bclog.txt"
criteria crc
load "X:\source\path" "X:\dest\path"
sync update:left->right

要执行与 robocopy 的 /mir 相同的操作,最后一行也可以是:

sync mirror:left->right

相关内容