我需要在Gradle中编写一个脚本,将2个文件夹作为输入。这两个文件夹都包含〈1000个文件(大多数是图像),结构相当相似。输出应该是更改的文件列表,以及它们之间的差异(添加文件/删除文件/更改文件)。
编辑:这里有一个示例脚本https://gist.github.com/igormukhin/71d780c4274336eeb297。唯一的问题是它按时间戳进行比较。
我需要在Gradle中编写一个脚本,将2个文件夹作为输入。这两个文件夹都包含〈1000个文件(大多数是图像),结构相当相似。输出应该是更改的文件列表,以及它们之间的差异(添加文件/删除文件/更改文件)。
编辑:这里有一个示例脚本https://gist.github.com/igormukhin/71d780c4274336eeb297。唯一的问题是它按时间戳进行比较。
2条答案
按热度按时间whlutmcx1#
我最近编写了一些类似于你所要求的东西:DirectoryDifferenceCollector;然而,它实际上比较文件的内容(作为哈希),而不是时间戳。如果符合您的需要,我愿意更新它以接受可配置的策略,或者您可以只使用所涉及的概念。
基本上,它会扫描两个目录,并确定A和B中缺少的文件,然后还确定哪些文件是两个目录共有的,但内容不同。
结果收集在DirectoryDifference对象中,每个类别具有各自的文件路径。
wbrvyc0a2#
我很想使用
diff
:然后,您可以文本形式访问命令的输出:
并通过以下方式获取退出状态:
许多常见的操作系统都安装了
diff
,但Windows可能没有。