问题标签 [filecompare]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1146 浏览

biztalk - 比较两台服务器的 GAC?

在 BizTalk 迁移期间,我需要一种简单且值得信赖的方法来比较来自两台服务器的 GAC(全局程序集缓存)。如果目标服务器中不存在 GAC,我还想将 GAC 从 QA 移至生产。这些都是 BizTalk 服务器,并且有大量 GAC 程序集。我在网上看到了一些工具,但其中一个的链接已损坏(winmerge),而其他工具似乎并不真实。谢谢你的帮助。

0 投票
6 回答
365297 浏览

binary - 用于在 Windows 中比较 2 个二进制文件的工具

我需要一个工具来比较 2 个二进制文件。文件相当大。我在 Internet 上找到的一些免费软件或试用工具不方便用于大文件。你能给我推荐一些工具吗?

0 投票
3 回答
1477 浏览

c# - 实现递归哈希算法

假设文件 A 具有以下字节:

我有一个简单的散列算法,我存储最后三个连续字节的总和,所以:

所以我将能够将文件 A 表示为15, 123, 204, 236

假设我将该文件复制到新计算机 B 并进行了一些小的修改,文件 B 的字节为:

“请注意,区别在于文件开头有一个额外的字节,结尾有 2 个额外的字节,但其余部分非常相似”

所以我可以执行相同的算法来确定文件的某些部分是否相同。请记住,文件 A 由哈希码表示,15, 123, 204, 236让我们看看文件 B 是否给了我一些哈希码!

所以文件 BI 必须每 3 个连续字节执行一次

因此,通过查看该表,我知道文件 B 包含文件 A 中的字节加上其他字节,因为哈希码匹配。

我展示这个算法的原因是因为它是 n 阶的。换句话说,我能够计算最后 3 个连续字节的哈希值,而无需遍历它们!

如果我在哪里有一个更复杂的算法,例如对最后 3 个字节执行 md5,那么它将是 n^3 的顺序,因为当我遍历文件 BI 时,必须有一个内部 for 循环来计算最后三个字节。

所以我的问题是:

我如何改进算法,使其保持 n 阶。那就是只计算一次哈希。如果我使用现有的散列算法,例如 md5,我将不得不在算法内部放置一个内部循环,这将显着增加算法的顺序。

请注意,可以用乘法而不是加法来做同样的事情。但计数器显着增长非常快。也许我可以结合乘法和加法和减法......

编辑

另外,如果我用谷歌搜索:

递归散列函数 in-gram

出现了很多信息,我认为这些算法很难理解......

我必须为一个项目实现这个算法,这就是我重新发明轮子的原因......我知道那里有很多算法。

我在想的另一种解决方案是执行相同的算法加上另一个强大的算法。等文件 AI 将每 3 个字节加上每 3 个字节的 md5 执行相同的算法。在第二个文件上,如果第一个算法成真,我将只执行第二个算法....

0 投票
2 回答
2503 浏览

filenames - 如何匹配相似的文件名并重命名,以便 Beyond Compare 等差异工具将它们视为一对以执行二进制比较?

我正在寻找比较我认为相同但文件名不同的文件的最佳方法。BeyondCompare 之类的比较工具很棒,但它们还不能处理不同的文件名——当比较不同文件夹中的文件时,它们会尝试与两边同名的文件进行比较。

(我不为 BeyondCompare 工作或对 BeyondCompare 没有经济利益,但我经常使用该工具并发现它有一些很棒的功能)。

有 MindGems Fast Duplicate File Finder 用于在多个文件夹树中的任何位置匹配文件还不如 BeyondCompare 那样信任它。BeyondCompare 提供了对文件进行完整二进制比较的完整思路。

在我的情况下,文件往往具有相似的名称,不同之处在于单词的顺序、标点符号、大小写差异以及并非所有单词都存在。因此,使用正则表达式过滤器来匹配某些 diff 工具(如 Beyond Compare)已经提供的文件并不容易,因为文件子字符串可能是无序的。

我正在寻找一种方法来匹配相似的文件名,然后再将文件重命名为相同的文件,然后将它们“提供”给 BeyondCompare 等工具。解决方案可以是脚本,也可以是应用程序的形式。

目前,我有一个算法(在 Perl 中实现)来匹配文件名以适应我的问题,即文件名与上述相似。

你能提出更好的或完全不同的方法吗?

  1. 查找文件大小完全相同的文件列表

  2. 使用非字母数字字符或空格作为分隔符,对第一个文件中的字母数字子字符串进行哈希处理

  3. 使用非字母数字字符或空格作为分隔符,对第二个文件中的字母数字子字符串进行哈希处理

  4. 匹配事件

  5. 查找哪个文件具有最多的子字符串。

  6. 根据匹配数除以最高子字符串数,计算对比较的百分比分数。

  7. 重复比较每个文件与具有确切文件大小的每个其他文件

  8. 按百分比分数对比较进行排序,以获得要比较的文件的建议。

  9. 重命名该对中的一个文件,使其与另一个相同。放在单独的文件夹中。

  10. 使用文件、文件夹比较模式运行 BeyondCompare 之类的比较工具。

0 投票
2 回答
241 浏览

php - 如何区分 CSV 文件中的数据

我有两个 csv 文件,并且都具有相同的数据结构。

我想根据此示例比较并获取完全匹配的记录编号:

第一个文件有 100 条记录,其中 20 条不包含在第二个文件中。

第二个文件有 120 条记录。

我想要一个 PHP 脚本来比较这两个文件并构建两个单独的 CSV 文件。

我想从第二个文件中删除第一个文件中不包含的所有额外记录。
并从第一个文件中删除不包含在第二个文件中的所有记录。

谢谢

0 投票
1 回答
1150 浏览

visual-studio-2010 - 在 Visual Studio 2010 文件夹差异窗口中,当我右键单击文件时,“协调”菜单被禁用

我正在尝试比较 2 个本地文件夹。在源代码管理资源管理器中,我右键单击文件夹,单击“比较”菜单并选择目标文件夹。显示文件夹差异文件夹。我右键单击发现差异的文件,但“协调”菜单被禁用。我对源文件夹和目标文件夹都有“读取”和“签出”权限。

0 投票
1 回答
3534 浏览

python - Python:比较具有不同结构的两个目录并列出新文件

我有一个脚本,可以将文件从一个文件夹结构复制到另一个具有不同结构的文件夹。

脚本以这种格式将文件/目录从文件夹 1 复制到文件夹 2(文件夹 2 具有不同的结构)

在文件夹 2 中,我可以创建自己的文件,例如 new1.txt、new2.txt。创建新文件后,文件夹 2 结构将如下所示:

现在我需要比较 Folder1 和 Folder2 的目录内容。我正在使用 filecmp.dircmp 来比较目录内容。这两个文件夹上的 filecmp.dircmp 将为我提供 subdir2、subdir2/c.txt、subdir2/d.txt 作为新目录以及带有 new1.txt 和 new2.txt 的新文件。但实际上我只创建了 new1.txt 和 new2.txt 作为新文件,而其他文件只从一个文件夹复制到不同的文件夹。

作为一个新文件,我只需要 new1.txt 和 new2.txt 结果。知道我该怎么做。我正在用python编写这段代码

0 投票
2 回答
1581 浏览

c# - C# 比较 URL 文件和本地文件

**大家好,我是 C# 新手,我不知道如何执行以下代码

我需要编写一个代码来验证来自服务器(URL)的 30 个文件和来自客户端(文件夹)的 30 个文件

然后逐字节比较它们,如果客户端(文件夹)文件被更改/更改/删除,然后下载服务器文件……就是这样……你能帮我吗?我使用了这段代码,但没有用...URI 不支持错误**

我的代码在这里:http ://codeupload.com/6192

如果您有任何其他可能对我有帮助的好主意,请在此处发布

0 投票
2 回答
953 浏览

cmd - 将 2 个 txt 文件输出到第 3 个 txt 文件的差异

我正在尝试运行一个 bat 文件,它将一个文件与另一个文件进行比较并输出差异

我尝试使用 gnu diff utilites、fc 和无休止的谷歌搜索来寻找解决方案,但我似乎无法弄清楚

文件 1

文件 2

我希望文件 3 是

有人有想法么?

0 投票
4 回答
11356 浏览

python - 如何在脚本中比较python中的两个xml文件?

我是新蟒蛇。我有一些预定义的 xml 文件。我有一个生成新 xml 文件的脚本。我想编写一个自动脚本来比较 xmls 文件并将不同 xml 文件名的名称存储在输出文件中?提前致谢