文档

比较文件和文件夹并合并文件

比较文件和文件夹

您可以使用“对比”工具来显示所选文件或文件夹对之间的差异。对于某些文件类型,还可以将一个文件的更改合并到另一个文件中。

比较过程包括三个步骤:

  1. 选择要比较的文件或文件夹。

  2. 选择一个比较类型。

  3. 查看比较报告。

选择要比较的文件或文件夹

您可以使用以下任何一种方法选择文件和文件夹进行比较:

  • 当前文件夹浏览器—选择文件或文件夹,右键单击,选择比较.浏览以选择第二个项目进行比较,或从文件浏览器中拖放文件或文件夹。

    您还可以选择两个文件或子文件夹,右键单击并选择比较所选文件/文件夹

  • 编辑器或实时编辑器-到编辑器住编辑器选项卡,并在文件部分中,点击比较.比较工具自动填充第一个文件,以便与当前打开的文件进行比较。浏览以选择第二个项目进行比较,或从文件浏览器中拖放文件或文件夹。

  • MATLAB®桌面-到首页选项卡,并在文件部分中,点击比较.浏览以选择要比较的项,或从文件浏览器中拖放文件或文件夹。

  • 命令窗口-使用visdiff函数。例如,比较两个文件lengthofline.m而且lengthofline2.m使用visdiff函数与默认文本比较,类型visdiff(“lengthofline。”、“lengthofline2.m”).MATLAB打开比较工具并显示结果比较报告。

除了选择两个文件和文件夹外,还可以将文件与它的过去版本进行比较。单击,将文件与自动保存的版本或保存在磁盘上的版本进行比较比较并选择与磁盘上的版本比较保存和比较与自动保存.有关更多信息,请参见比较文件与自动保存版本或磁盘上的版本.这些选项不适用于活动脚本或函数。

选择比较类型

比较工具使用为项定义的默认比较类型来比较选定的项。对于某些项目类型,您可以从默认的比较类型中选择不同的比较类型。例如,可以从文本、二进制文件、文件列表或XML比较中进行选择。中要更改比较类型,请选择要比较的文件或文件夹,然后从选项中进行选择比较类型菜单。比较工具只显示所选项目类型的有效选项。

已创建的对比报表不能修改对比类型。要更改比较类型,请启动一个新的比较。

如果指定要使用“当前文件夹”浏览器或“visdiff函数,然后比较工具自动执行默认的比较类型。例如,在Current Folder浏览器中,如果选择两个mat文件进行比较,则会得到显示变量信息的默认比较类型。要将比较类型更改为二进制,请使用比较工具创建一个新的比较。

浏览比较报告

你可以根据被比较的项目以不同的方式查看比较报告:

  • 文件夹,zip文件和Simulink金宝app®体现-比较文件夹、zip文件或Simulink清单的任何组合,以确定哪些文件和文件夹名称对每个列表是唯一的。金宝app您还可以识别具有相同名称的文件和文件夹是否具有相同的内容。有关更多信息,请参见比较文件夹、Zip文件和Simulink清单金宝app

  • 文本-比较和合并两个文本文件中的行(一些其他应用程序将其称为diff文件操作)。有关更多信息,请参见比较和合并文本

  • 生活的代码-比较和合并两个实时代码文件中的代码和文本行。有关更多信息,请参见比较和合并实时代码

  • mat文件-比较和合并两个mat文件中的变量。有关更多信息,请参见比较和合并mat文件

  • 二进制文件—判断两个二进制文件内容是否匹配。有关更多信息,请参见比较二进制文件

  • XML文件-通过文本比较或分层XML比较比较XML文件。有关更多信息,请参见比较XML文件

  • 金宝app仿真软件模型—如果你有Simulink,金宝app比较和合并Simulink模型。有关信息,请参见模型比较(金宝app模型)。

比较文件夹、Zip文件和金宝app体现

您可以对文件夹、zip文件和Simulink清单的任何组合执行文件列表比较。金宝app例如,您可以将文件夹的内容与zip文件的内容进行比较。

创建文件夹比较报告到:

  • 识别常见文件。

  • 确定名称相同的文件或文件夹是否具有相同的内容。如果存在这样的文件或文件夹,您可以直接从报告中为项目打开详细的比较报告。

选择要比较的文件或文件夹

要选择要比较的项目,请参见选择要比较的文件或文件夹.在选择要比较的项目时,通过选择在比较报告中包含子文件夹内容包括子文件夹

探索不同

当您执行任何文件列表比较时,将打开一个新窗口并并排显示指定列表的内容。此图像显示了两个文件夹比较的示例比较报告。

“比较”工具会高亮显示该表中不匹配的文件和子文件夹。

不同的总结 突出显示颜色 描述
内容改变了 紫色的 文件或文件夹的内容不同。单击比较链接进行调查。
添加 蓝色的 该文件或文件夹只存在于右侧列表中。
删除 黄色的 该文件或文件夹只存在于左侧列表中。
相同的 没有一个 文件或文件夹是相同的。

您可以使用以下几种方法进一步研究结果:

  • 要按名称、类型、大小或最近修改的时间戳对结果进行排序,请单击相应的列标题。例如,单击类型按文件夹和文件类型排序的列标头。

  • 要打开内容不同的项目的详细比较报告,请单击比较链接到项目旁边。

  • 要在编辑器中打开文件,请单击开放文件名旁边的链接。如果文件同时存在于两个文件夹中,则可以单击链接以打开正确的文件的版本。

  • 如果子文件夹非常大并且包含许多文件,分析将在后台继续进行。该工具在报告的顶部显示仍待比较的项目的数量。您可以单击跳过当前跳过当前项或取消所有停止进一步的分析。

有关如何进一步配置比较报告的信息,请参见比较报表工具和选项

筛选报表

为了在审查差异时节省时间,特别是在比较许多子文件夹时,您可以对报告进行筛选。要创建过滤器,请转到视图选项卡,单击过滤器按钮,然后选择添加/删除过滤器.您可以指定筛选器来忽略某些文件和文件夹,例如备份文件或由修订控制系统创建的文件。

例如,忽略文件夹中的所有文件和文件夹CVS、类型CVS /.忽略文件夹中的所有文件CVS,但不要忽略子文件夹,键入CVS / *

要编辑现有筛选器,请双击筛选器。

比较和合并文本

您可以使用比较工具比较和合并两个文本文件中的行。

选择要比较的文件或文件夹

要选择要比较的文件,请参见选择要比较的文件或文件夹.默认情况下,XML文件使用文本比较进行比较。要用分层比较来比较XML文件,请参见比较XML文件

当您执行文本比较时,将打开一个新窗口并并排显示两个文件。两个显示文件之间的符号表示如何调整文件以使它们匹配。例如,运行以下代码查看示例文件的文本比较lengthofline.m而且lengthofline2.m

File1 = fullfile(matlabroot,'help','techdoc','matlab_env',…'examples',' lengtholine .m') file2 = fullfile(matlabroot,'help',…“techdoc”、“matlab_env”,“例子”,“lengthofline2.m”)visdiff (file1 file2)
比较工具显示结果报告。

探索不同

比较工具突出显示如表中所示更改的行。

突出显示颜色 描述
紫色的 两个文件之间的行内容不同。比较工具显示一个x在两行之间。
深紫色 突出显示的字符在两行之间是不同的。
蓝色的 行只存在于正确的文件中。比较工具显示一个>在两行之间。
黄色的 行只存在于左侧文件中。比较工具显示一个<在两行之间。

比较工具尝试匹配行,并检测添加、删除或更改的文本。它不做简单的逐行比较。例如,在文本比较lengthofline.m而且lengthofline2.m,工具决定了这一点lengthofline2.m是否有一行不存在的代码lengthofline.m并用蓝色高亮显示它(第23行)。另外,请注意,该工具考虑了附加的行,并确定包含结束语句在每个文件中都匹配,即使结束语句不会出现在相同的行号上。

如果要比较的文件非常长,那么在尝试执行文件比较时,工具可能会耗尽内存。如果是,则显示以下消息:

超过最大文件长度。默认为逐行比较。
当出现这种情况时,比较工具切换到逐行比较。在逐行比较中,该工具突出显示包含结束语句,因为在执行此操作时,它会发现一个文件中的最后一行与另一个文件中的最后一行不匹配。

您还可以使用以下几种方法进一步查看和配置结果:

  • 查看差异摘要—如果要查看两个文本文件的差异摘要,包括每个文件中匹配的行数和不匹配的行数,请滚动到比较报告的底部。

  • 忽略空白差异-为了帮助区分功能更改和缩进更改,您可以隐藏空白差异。要隐藏仅涉及空白字符的差异,请转到视图选项卡,单击过滤器按钮,并选择忽略空白

  • 只显示差异—要指定是只显示差异还是显示整个文件,请进入视图选项卡,单击过滤器按钮,选择或清除只显示差异.在大型文本比较报告中,只显示差异特别有用。当您只显示差异而隐藏了一些行时,报告将显示一条消息,指示隐藏的行数。例如,如果隐藏10行,则显示报告隐藏了10条未修改的行

  • 改变显示宽度—如果要增加或减少比较显示中文本文件的行长,请转到视图选项卡,并在显示部分,更改列宽.如果需要,调整窗口的大小。

  • 保存HTML报告—若要将比较报告的副本另存为HTML文件,请转到比较选项卡,并在比较部分中,点击另存为>超文本标记语言

跨出差异

如果文本文件很长,则使用而且按钮来逐级查看每次一个不同的结果。达到最后一个差异后,单击按钮循环返回文件中的第一个差异。类似地,如果选择第一个差异,则按钮,比较工具循环到文件中的最后一个差异。

合并差异

比较文本文件时,可以将一个文件的更改合并到另一个文件中。在解决文件不同版本之间的冲突时,合并更改可能很有用。

提示

只能从左向右归并。如果您想合并到左边的文件中,请使用交换双方在开始合并之前。交换双方还原已经进行的任何合并,并为原始文件创建一个新的比较报告。

要将左边文件的差异合并到右边文件,请在报告中选择差异并在比较选项卡,单击合并按钮。比较工具用灰色突出显示合并行,并显示一个绿色的合并箭头。

报告顶部的合并文件名表示该文件包含未保存的更改(文件名00 *).

对象上恢复上一次合并操作比较选项卡上,单击撤销.点击重做重新应用合并。若要恢复所有合并并重新开始,请单击刷新

要保存更改,请单击保存合并文件.若要保存为另一个名称,请选择保存合并文件>另存合并文件为

要在编辑器中查看文件,请单击报告中的行号链接。

提示

在编辑器中进行任何更改之前,先保存比较报告中的合并更改,否则比较报告可能不正确。报告不会更新以反映您在编辑器中所做的更改。

比较文件与自动保存版本或磁盘上的版本

您可以选择将在编辑器中打开的文件与文件的自动保存或保存版本进行比较。

要比较文件的最新版本与编辑器的备份副本,首先在编辑器中打开该文件。然后,去编辑器选项卡上,单击比较,并选择保存和比较与自动保存.如果修改了文件,编辑器将在比较之前保存该文件。有关更多信息,请参见备份文件

要比较已打开的文件中未保存更改的版本与已保存的版本,请转到编辑器选项卡上,单击比较,并选择与磁盘上的版本比较

比较和合并实时代码

创建实时代码比较报告

您可以使用比较工具比较和合并两个实时代码文件中的行。要选择要比较的文件,请参见选择要比较的文件或文件夹

当您执行实时代码比较时,将打开一个新窗口并并排显示两个文件。例如,假设您有两个文件averageweight.mlx而且averageweight2.mlx有几个不同之处。当您比较这两个文件时,比较工具将显示结果报告。

探索不同

比较工具在比较报告的右下角显示差异的总数,并高亮显示该表中描述的不匹配的行。

突出显示颜色 描述
紫色的 两个文件之间的行内容不同。
深紫色 两个文件中突出显示的字符是不同的。
蓝色的 行只存在于正确的文件中(插入到正确的文件中)。左边文件中的相应行使用灰色条纹模式高亮显示。
黄色的 行只在左侧文件中存在(在右侧文件中删除)。右边文件中的相应行使用灰色条纹模式高亮显示。

在比较实时代码文件时,比较工具会检测代码、文本和文本格式的差异。比较工具忽略输出,即使文件包含保存的输出。如果该工具检测到方程、图像或控件中的差异,则突出显示整个项目。

比较工具尝试匹配行,并检测添加、删除或更改的代码和文本。它不做简单的逐行比较。例如,在现场代码的比较averageweight.mlx而且averageweight2.mlx,工具决定了这一点averageweight.mlx是否有两行不存在的代码averageweight2.mlx用黄色高亮显示它们(第5行和第7行)。另外,请注意,该工具考虑了附加的行,并确定包含disp语句在每个文件中都匹配,即使disp语句不会出现在相同的行号上。

如果实时代码文件很长,则使用下一个而且以前的按钮来逐级查看每次一个不同的结果。

合并差异

在比较实时代码文件时,可以将更改从一个文件合并到另一个文件。在解决文件不同版本之间的冲突时,合并更改可能很有用。你只能从左向右归并。如果您想合并到左边的文件中,请单击交换双方按钮,然后开始合并。单击交换双方Button将恢复已经完成的任何合并,并为原始文件创建一个新的比较报告。

开始合并,在比较选项卡,单击合并模式按钮。然后,要将右窗格中的内容替换为左窗格中的内容,请单击按钮,位于要合并的行旁边。你也可以选择一个不同的和在合并选项卡,单击替换内容按钮。

右边窗格包含合并的结果。在右窗格中合并的文件名旁边有一个星号(文件名_modified.mlx *)表示该文件包含未保存的更改。

要撤消替换,请单击按钮之间的修改行或在比较选项卡。要恢复所有合并并重新开始,请单击刷新按钮。您也可以单击刷新按钮,在Live Editor中更改并保存文件后更新比较报告。刷新会丢弃所有合并的更改。

要保存更改并返回到比较报告,请单击保存结果按钮。若要返回不保存更改的比较报告,请单击回到比较按钮。

比较和合并mat文件

创建mat文件比较报告

您可以使用比较工具来比较两个mat文件。比较两个mat文件:

  • 确定哪些变量对于每个文件是通用的,哪些是唯一的。

  • 识别个体变量之间的差异。例如,您可以确定结构的哪些字段不同,或者数组的哪些元素不同。

要选择要比较的项目,请参见选择要比较的文件或文件夹

当您执行mat文件比较时,将打开一个新窗口并并排显示两个文件。例如,假设你有两个mat文件,data1.mat而且data2.mat.当您比较这两个文件时,比较工具将显示结果报告。

探索不同

比较工具报告突出显示了该表中所描述的变量的更改。

不同的总结 高亮显示 描述
修改 紫色的 变量的值在两个文件之间不同。单击比较链接进行调查。有关更多信息,请参见比较变量
添加 蓝色的 该变量只存在于正确的文件中。
删除 黄色的 该变量只存在于左侧文件中。
等效 没有一个 两个文件中的变量是等价的。该工具忽略了模式、结构中的字段顺序以及负零和正零之间的差异。
类变化 紫色(仅在类列中) 变量数据类更改。单击比较链接进行调查。

如果两个文件中的变量相等但文件不相同,则报告将显示一条消息。文件之间差异的可能原因包括文件格式、文件时间戳、变量存储的顺序,或者包含被忽略差异的变量。

您可以使用以下几种方法进一步查看报告中的结果:

  • 排序结果-要按名称、大小、类别或差异摘要对结果进行排序,请单击相应的列标题。例如,单击按类类型排序的列标头。

  • 负载变量—要将变量的内容加载到变量编辑器中,请单击该变量的名称。

  • 负载MAT-file—要加载一个mat文件到工作区中,单击相应的负载报告底部的链接。

  • 保存HTML报告—若要将报告的副本另存为HTML文件,请转到比较按TAB键并单击另存为>超文本标记语言

有关如何进一步配置比较报告的信息,请参见比较报表工具和选项

比较变量

变量比较报告显示结构的单个数组元素或字段的差异。要调查个体差异,双击一个突出显示的行。

合并差异

在比较mat文件时,可以将一个文件的更改合并到另一个文件中。合并mat文件时没有撤消功能,所以合并时要小心。

将已修改的变量从一个文件复制到另一个文件比较选项卡,在合并部分,单击合并按钮。

比较二进制文件

创建二进制比较报告

您可以使用比较工具比较两个二进制文件,如DLL文件或mex文件。要选择要比较的文件,请参见选择要比较的文件或文件夹

您还可以对任意两个选定的文件执行二进制比较,而不是默认的比较。若要使用二进制比较来比较任意两个文件,请设置比较类型二进制比较.有关更多信息,请参见比较二进制文件

执行二进制比较时,会打开一个新窗口,指示两个文件是相同还是不同。如果文件不同,则单击显示详细信息链接查看二进制文件与第一个字节偏移量的差异。

比较报表工具和选项

您可以使用可用的工具和选项进一步研究和配置比较报告。

  • 交换报告的左右两面—切换左边的文件或文件夹到右边的文件或文件夹比较选项卡并单击交换双方按钮。

  • 刷新报告以显示已更新的文件—在编辑器中修改并保存文件后,要在比较工具中更新结果,请转到比较选项卡并单击刷新按钮。

  • 找到文本—要查找当前显示的短语,请转到比较选项卡并单击找到按钮。有关更多信息,请参见在命令窗口或历史记录中查找文本

  • 改变颜色偏好更改并保存比较工具的颜色首选项:

    1. 在MATLAB Home选项卡上,单击首选项并选择MATLAB>比较

    2. 为差异、修改的线条、修改的内容和合并的线条选择所需的颜色。如果你改变了颜色偏好,活动设置显示默认(修改)

    3. 点击应用并刷新比较报告,以查看报告中反映的更新颜色。

    4. 若要保存修改后的颜色首选项以供将来的MATLAB会话使用,请单击另存为.为您的颜色设置配置文件输入一个名称并单击好吧

      保存颜色设置配置文件后,您可以在活动设置列表。

    5. 单击,恢复默认设置重置然后点击应用.刷新比较报告。

    颜色偏好适用于所有比较类型。

源控制

您可以自定义外部源代码控制工具,以使用MATLAB比较工具来比较和合并文件和文件夹。有关更多信息,请参见自定义外部源控制使用MATLAB进行差异和合并

另请参阅

相关的话题