写点什么

PNComp 目录比较器

用户头像
Geek_6bf591
关注
发布于: 2 小时前

1、界面概述 PNCompare 界面如下图 1 所示主要分成 Title, Menu, Button, Compare, Result 和 Status 这几个区域。Title 区域用来显示当前查看的文件全路径。Menu 区域有 File, Directory, Compare, Tool 和 Help 菜单,File 菜单用来选择用于比较的两个目录结构的根目录节点,打开 PNTree, PNDiff 和 PNEdit 以及界面退出,Directory 菜单可以对打开的目录结构做 Delete, Hold, Paste, Move, New, Rename, Compress 和 Copy Full Path 操作,Compare 菜单用来设置/清除/比较/替换/跳转等操作,Tool 菜单用来打开查看系统信息(System Information)、文件加解密(Encrypt/Decrypt)、文件分解和合并(Split/Join)以及文件列表打印(Directory Print)这几个小工具,Help 菜单用来打开用户手册、查看版本信息。Button 区域有 File, Compare, Review, Tool 和 Help 按钮,其功能和菜单栏中对应的类似。Compare 区域显示当前两个目录比较的目录结构。Result 区域显示当前两个目录比较的结果列表。Status 区域主要显示当前目录结构中查看的文件状态信息。


图 1 PNCompare 窗口各区域


     在PNCompare界面菜单栏中Compare项下拉菜单如下图2所示,有Setting, Clear, Start, L2R All, R2L All, Goto Select, L2R Select和R2L Select这几项。Setting项点开会打开目录比较的设置界面;Clear项点击会将当前目录比较结果清除掉; Start项点击会根据设置的比较条件开始做目录比较;L2R All项点击会将左边目录结构中比较不一致的节点全部替换成右边目录结构中的节点;R2L All项点击会将右边目录结构中比较不一致的节点全部替换成左边目录结构中的节点;Goto Select项点击会根据比较结果列表中选择的项跳转到对应的文件在目录树上的节点;L2R Select项点击会将在结果列表中选择的项左边目录结构中比较不一致的节点替换成右边目录结构中的节点;R2L Select项点击会将在结果列表中选择的项右边目录结构中比较不一致的节点替换成左边目录结构中的节点。
复制代码


图 2 PNCompare 比较控制菜单


     在PNCompare界面按钮中Compare和Review项如下图3所示,按钮 点击打开目录比较设置界面;按钮 点击将当前比较结果从结果列表中清除掉;按钮 点击根据设置的比较条件直接开始比较;按钮 点击将左边目录结构中比较不一致的节点全部替换成右边目录结构中的节点;按钮 点击项点击将右边目录结构中比较不一致的节点全部替换成左边目录结构中的节点;按钮 点击会跳转至当前不同项的前一个不同项上;按钮 点击会跳转至当前不同项的后一个不同项上;输入框   用于输入和显示当前查看的比较结果项;按钮 点击跳转至输入的项所在的目录树节点上并将其高亮;按钮 点击将输入的项所对应的左边目录结构中比较不一致的节点替换成右边目录结构中的节点;按钮 点击将输入的项所对应的右边目录结构中比较不一致的节点替换成左边目录结构中的节点。
复制代码


图 3 PNCompare 比较控制按钮


     在PNCompare界面结果区域中鼠标右键会弹出菜单如下图4所示,有Goto Select, L2R Select, R2L Select, Full Path和Remove Full Path这几项。Goto Select项点击会根据比较结果列表中选择的项跳转其所在的目录树节点上并将其高亮;L2R Select项点击会将结果列表中选择的项所对应的左边目录结构中比较不一致的节点替换成右边目录结构中的节点;R2L Select项点击会将结果列表中选择的项所对应的右边目录结构中比较不一致的节点替换成左边目录结构中的节点;Full Path项点击会将结果列表中的Left Directory和Right Directory列文件名显示全路径;Remove Full Path项点击会将结果列表中的Left Directory和Right Directory列文件名仅显示文件名。
复制代码


图 4 PNCompare 比较结果查看菜单


2、多模式可配置的目录比较对于目录结构的比较有多种配置的方式如下图 5 所示,其中”Home Select”区域用于选择比较的两个目录结构根节点,按钮 点击选择左边的根目录节点,选择确认后会将该根目录节点的全路径显示在输入框中,也可以在该输入框中直接输入左边的根目录节点全路径;按钮 点击选择右边的根目录节点,选择确认后会将该根目录节点的全路径显示在输入框中,也可以在该输入框中直接输入右边的根目录节点全路径。”Scope Select”区域用于设置目录比较的层次范围。”Compare Condition”区域用于设置目录比较的文件和文件夹类型,目录创建者,目录访问权限,目录创建时间,目录的存储大小以及文件的内容。


图 5 PNCompare 目录比较设置窗口


2.1、目录层次设置在”Scope Select”区域中对于比较的目录结构的层次范围选择有”Level All”, ”Level 1”, ”Level 1-?”和”Level ?”这四个单选项。Scope Level All 模式,如下图 6 所示设置了”Level All”层次比较模式,在该例子中设置了对”/home/test/test_case/script/compare_test/case0/left_test”和”/home/test/test_case/script/compare_test/case0/right_test”这两个目录结构做”Level All”即当前根目录节点下全部层次的目录节点都做比较,共找到有 17 个两边目录结构有不一致的节点。


图 6 PNCompare 目录比较层次设置示例 1


     Scope Level 1 模式,如下图7所示设置了”Level 1”层次比较模式,在该例子中设置了对”/home/test/test_case/script/compare_test/case0/left_test”和”/home/test/test_case/script/compare_test/case0/right_test”这两个目录结构做”Level 1”即当前根目录节点下第1层的目录做比较,共找到有11个两边目录结构有不一致的节点。这里目录层次选择的是”Level 1”,同一个目录下仅在当前根目录下第1层做比较,对于根目录节点第2层之后所有的节点不再做比较。
复制代码


图 7 PNCompare 目录比较层次设置示例 2


     Scope Level 1-? 模式,如下图8所示设置了”Level 1-?”层次比较模式,在该例子中设置了对”/home/test/test_case/script/compare_test/case0/left_test”和”/home/test/test_case/script/compare_test/case0/right_test”这两个目录结构做”Level 1-2”即当前根目录节点下第1-2层的目录做比较,共找到有15个两边目录结构有不一致的节点。这里目录层次选择的是”Level 1-?”,同一个目录下仅在当前根目录下第1-2层做比较,对于根目录节点第3层之后所有的节点不再做比较。
复制代码


图 8 PNCompare 目录比较层次设置示例 3


     Scope Level ? 模式,如下图9所示设置了”Level ?”层次比较模式,在该例子中设置了对”/home/test/test_case/script/compare_test/case0/left_test”和”/home/test/test_case/script/compare_test/case0/right_test”这两个目录结构做”Level 4”即当前根目录节点下第4层的目录做比较,共找到有4个两边目录结构有不一致的节点。这里目录层次选择的是”Level ?”,同一个目录下仅在当前根目录下第4层做比较,对于根目录节点第1-3层以及第5层之后所有的节点不再做比较。
复制代码


图 9 PNCompare 目录比较层次设置示例 4


2.2、比较条件属性设置在”Compare Condition”区域中用于设置目录名比较的有”File Folder”, ”File Only”和”Folder Only”这三种模式,其中”File Folder”用于比较选择的目录结构下的文件和文件夹名,”File Only”用于比较选择的目录结构下的文件名,”File Folder”用于比较选择的目录结构下的文件夹名。在文件或文件夹名比较相同的情况下还可以对其属性做比较,这里设置有”Owner”, ”Access”, ”Time”, ”Size” 和”Content”这五个属性勾选项。文件创建者比较,如下图 10 所示勾选了”Owner”做文件创建者比较的例子,在该例子中设置了对”/home/test/test_case/script/compare_test/case0/left_test”和”/home/test/test_case/script/compare_test/case0/right_test”这两个目录结构在目录层次设置了”Level All”,比较条件属性设置了”Owner”,比较之后共找到有 18 个两边目录结构有不一致的节点。这里勾选了文件创建者的比较,因此在同一个目录下比较多出一个 1 个文件名相同但文件创建者不同的文件”owner.tcl”。


图 10 PNCompare 目录比较文件属性设置示例 1


     文件访问权限比较,如下图11所示勾选了”Access”做文件访问权限比较的例子,在该例子中设置了对”/home/test/test_case/script/compare_test/case0/left_test”和”/home/test/test_case/script/compare_test/case0/right_test”这两个目录结构在目录层次设置了”Level All”,比较条件属性设置了”Access”,比较之后共找到有18个两边目录结构有不一致的节点。这里勾选了文件访问权限的比较,因此在同一个目录下比较多出一个1个文件名相同但文件访问权限不同的文件”access.tcl”。
复制代码


图 11 PNCompare 目录比较文件属性设置示例 2


     文件时间比较,如下图12所示勾选了”Time”做文件时间比较的例子,在该例子中设置了对”/home/test/test_case/script/compare_test/case0/left_test”和”/home/test/test_case/script/compare_test/case0/right_test”这两个目录结构在目录层次设置了”Level All”,比较条件属性设置了”Time”,比较之后共找到有18个两边目录结构有不一致的节点。这里勾选了文件时间的比较,因此在同一个目录下比较多出一个1个文件名相同但文件时间不同的文件”time.tcl”。
复制代码


图 12 PNCompare 目录比较文件属性设置示例 3


     文件存储大小比较,如下图13所示勾选了”Size”做文件存储大小比较的例子,在该例子中设置了对”/home/test/test_case/script/compare_test/case0/left_test”和”/home/test/test_case/script/compare_test/case0/right_test”这两个目录结构在目录层次设置了”Level All”,比较条件属性设置了”Size”,比较之后共找到有18个两边目录结构有不一致的节点。这里勾选了文件存储大小的比较,因此在同一个目录下比较多出一个1个文件名相同但文件存储大小不同的文件”size.tcl”。
复制代码


图 13 PNCompare 目录比较文件属性设置示例 4


     文件内容比较,如下图14所示勾选了”Content”做文件内容比较的例子,在该例子中设置了对”/home/test/test_case/script/compare_test/case0/left_test”和”/home/test/test_case/script/compare_test/case0/right_test”这两个目录结构在目录层次设置了”Level All”,比较条件属性设置了”Content”,比较之后共找到有19个两边目录结构有不一致的节点。这里勾选了文件内容的比较,因此在同一个目录下比较多出一个2个文件名相同但文件内容不同的文件”size.tcl”和”content.tcl”。
复制代码


图 14 PNCompare 目录比较文件属性设置示例 5


3、目录比较结果的查看 PNCompare 在比较完成之后会将其结果高亮比较的两个目录结构中不同的目录节点并在比较结果列表中显示这些不同项如下图 15 所示,在该结果列表的上方对应有”Number”, “Type”, “Left Directory”和”Right Directory”这四个列项。其中”Number”这一列用于显示当前比较不同项的编号;”Type”这一列用于显示当前比较不同项的类型(共有 7 种类型,Left 类型表示当前目录节点在左边目录结构中存在右边目录结构中不存在,Right 类型表示当前目录节点在右边目录结构中存在左边目录结构中不存在,Owner 类型表示当前目录节点在左边和右边目录结构中目录名相同但文件创建者不同,Access 类型表示当前目录节点在左边和右边目录结构中目录名相同但文件访问权限不同,Time 类型表示当前目录节点在左边和右边目录结构中目录名相同但文件时间不同,Size 类型表示当前目录节点在左边和右边目录结构中目录名相同但文件存储大小不同,Content 类型表示当前目录节点在左边和右边目录结构中目录名相同但文件内容不同);”Left Directory”这一列用于显示当前比较不同项左边目录结构中对应的节点目录名(目录名显示有单独目录名或目录的全路径名,这可以通过图 4 比较结果查看菜单中的”Full Path”和”Remove Full Path”项控制);”Right Directory”这一列用于显示当前比较不同项右边目录结构中对应的节点目录名。在该列表左下方可以用”Filter (Type)”按钮下拉列表过滤结果列表中选择显示的 7 种结果类型,按钮 用于根据选择的结果类型开始过滤显示,按钮 用于清空过滤的结果重新显示全部的结果。在该列表右下方会显示当前比较结果的数量,结果在列表中是按页显示的,每页最多 100 个比较结果项,在查看时可以在”Page”中先找到对应的页号即可在结果列表中显示该页的项,按钮 用于向前翻一页显示前页的结果,按钮 用于向后翻一页显示后页的结果。


图 15 PNCompare 目录比较结果查看


     比较结果跳转,对于比较结果查看其详细目录结构时可以在结果列表中双击该项即可将该项所在的目录节点在“Compare”区域中两边的目录结构树中高亮。同时“Goto”操作还可以通过图2比较控制菜单中的“Goto Select”项,图3中比较控制按钮中的跳至前一个按钮 , 跳至后一个按钮 , 跳至输入项按钮 和图4比较结果查看菜单中的“Goto Select”项这几个方式来实现结果跳转的功能。这里“Goto”操作一次仅可以选择一个结果项做跳转。
复制代码


4、目录比较结果的合并 PNCompare 在比较完成之后会对比较有不一致的目录节点可以做合并的操作,其中有“L2R All”, “R2L All”, “L2R Select”和“R2L Select”这四种合并操作。“L2R All”和“R2L All”合并操作可以通过图 2 比较控制菜单中的“L2R All”和“R2L All”项,图 3 中比较控制按钮中的 “L2R All”按钮和 “R2L All”按钮以及图 5 目录比较设置窗口中的“L2R”和“R2L”按钮。“L2R Select”和“R2L Select”合并操作可以通过图 2 比较控制菜单中的“L2R Select”和“R2L Select”项,图 3 中比较控制按钮中的 “L2R Select”按钮和 “R2L Select”按钮以及图 4 比较结果查看菜单中的“L2R Select”和“R2L Select”项。由于合并的操作是修改合并对象的目录结构且不可恢复,因此在点击合并按钮之后会先弹出一个”Question [irrve]”窗口,需要用户确认是否做合并操作,在确认之后才会根据设置做相应的合并。L2R All 合并操作,如下图 16 所示在合并模式中选择了”L2R All”合并操作,即对所有比较结果不同的项(共 17 项)都做”L2R”合并操作,将左边目录结构中比较不一致的目录节点替换成右边目录结构中的节点(即将右边目录中有的但左边目录中没有的目录节点从右边目录复制到左边目录,左边目录中有的但右边目录中没有的目录节点从左边目录中删除)。下图 17 所示是该合并操作之后的结果,可以看到合并之后左边目录结构中内容已经按照”L2R”合并规则做了全部替换,替换之后左边目录中的所有目录节点已经和右边目录中一致了,因此合并之后的比较不同项为 0。


图 16 PNCompare 比较结果 L2R All 合并操作


图 17 PNCompare 比较结果 L2R All 合并结果


     R2L All合并操作,如下图18所示在合并模式中选择了”R2L All”合并操作,即对所有比较结果不同的项(共17项)都做”R2L”合并操作,将右边目录结构中比较不一致的目录节点替换成左边目录结构中的节点(即将左边目录中有的但右边目录中没有的目录节点从左边目录复制到右边目录,右边目录中有的但左边目录中没有的目录节点从右边目录中删除)。下图19所示是该合并操作之后的结果,可以看到合并之后右边目录结构中内容已经按照”R2L”合并规则做了全部替换,替换之后右边目录中的所有目录节点已经和左边目录中一致了,因此合并之后的比较不同项为0。
复制代码


图 18 PNCompare 比较结果 R2L All 合并操作


图 19 PNCompare 比较结果 R2L All 合并结果


     L2R Select合并操作,如下图20所示在合并模式中选择了”L2R Select”合并操作,即对在结果列表中选中的4个比较结果不同的项(共17项)做”L2R”合并操作,将左边目录结构中比较不一致的目录节点替换成右边目录结构中的节点(即将右边目录中有的但左边目录中没有的目录节点从右边目录复制到左边目录,左边目录中有的但右边目录中没有的目录节点从左边目录中删除)。下图21所示是该合并操作之后的结果,可以看到合并之后左边目录结构中选择的4个比较结果项已经按照”L2R”合并规则做了替换,替换之后左边目录中这四个选择项对应的目录节点已经和右边目录中一致了,因此合并之后的比较不同项为13。
复制代码


图 20 PNCompare 比较结果 L2R Select 合并操作


图 21 PNCompare 比较结果 L2R Select 合并结果


     R2L Select合并操作,如下图22所示在合并模式中选择了”R2L Select”合并操作,即对在结果列表中选中的3个比较结果不同的项(共17项)做”R2L”合并操作,将右边目录结构中比较不一致的目录节点替换成左边目录结构中的节点(即将左边目录中有的但右边目录中没有的目录节点从左边目录复制到右边目录,右边目录中有的但左边目录中没有的目录节点从右边目录中删除)。下图23所示是该合并操作之后的结果,可以看到合并之后右边目录结构中选择的3个比较结果项已经按照”R2L”合并规则做了替换,替换之后右边目录中这三个选择项对应的目录节点已经和左边目录中一致了,因此合并之后的比较不同项为14。
复制代码


图 22 PNCompare 比较结果 R2L Select 合并操作


图 23 PNCompare 比较结果 R2L Select 合并结果

用户头像

Geek_6bf591

关注

还未添加个人签名 2021.07.19 加入

还未添加个人简介

评论

发布
暂无评论
PNComp目录比较器