善用佳软/TC学堂/正文

第5讲:文件(夹)比较与同步

  大家如此喜欢和欣赏TC,除了它把windows资源管理器的已有功能,提升为更方便、更高效的境界外,还因为它还提供了很多新功能,很多原本要用专门软件才能完成的功能。也就是说,一个TC代替了多种工具软件。比如,本讲介绍的文件(夹)比较与同步功能。
  准确说来,文件(夹)比较与同步对应于TC的3项内部命令:
  1.比较文件:比较两个文件内容的异同。
    标准菜单:文件→比较文件内容
    快捷键:原版无;张学思版F10;Shanny版Shift+F1
  2.同步文件夹:比较两个文件夹的差异,并进行同步。
    原版菜单:命令→同步文件夹
    快捷键:原版无;张学思版、Shanny版Shift+F12
  3.比较文件夹:显示两侧窗口内容的异同
    标准菜单:选择→比较文件夹
    快捷键:Shift+F2

  请注意,初学者经常分不清功能2与功能3的区别。笔者认为,这种困惑的根源不在用户,而是软件本身对功能的描述与用户习惯性理解不同。按其实质功能来讲,功能2应称为“工具:文件夹比较与同步”,功能3应称为“选中文件夹的不同文件”。也就是说,功能2是类似于批量重命名、搜索一样的内置工具:功能强大、可以设定选项、要在新窗口进行操作;功能3则只是在原有的TC主窗口中,通过选中差异文件进行显示。
  并且大多数情部下,用户理解的比较文件夹是指功能3。正因如此,在xbeta提供的快捷键设置中,直接把快捷键Shift+F2从功能3改向了功能2。请大家在使用中,注意它与标准版、张学思版及Shanny版的区别。

一、比较文件

  需要说明的是,不是所有用户都有文件(夹)比较与同步的需求。即便偶尔用到,每个人的情况也差别很大。因此,如果觉得某些举例无实用价值,可略过,或只关注它背后的技术功能。

1. 比较两个文本文件

  任意找一个文本文件——最好每段文字不要太多,段数不要太多,比如找一首诗。
  然后复制一个复本,并进行改动,比如加或减一行,加或减几个字。
  然后,选中这2个文件,按下比较文件对应的快捷键(见上)。
  结果如下图:
图:比较文件
  差异内容以高亮颜色进行了显示;
  点击“下一个差异”、“上一个差异”可以直接跳转到差异位置,对长文件尤其方便。
  也可以通过搜索按钮,直接找到关注的段落或文字。
  比较英文时,还可以设定是否区分大小写。
  对于文本文件,支持Unicode格式,但不支持UTF-8。
  可以指定对空格、经常出现的行是否忽略。
  也可以比较二进制文件。实际在文件比较功能中,对文本文件(txt、ini、htm、xml)可以直接列示出内容差异;而对非文本文件(exe、dll、office、多媒体),只能按二进制比较,也就是说,作为010101这样的字符串流进行比较。这种比较可以显示差异,但不是以文件内容的形式展示出来。比如,对office文件可以发现差异有多少,但无法对应到内容。要看到差异的内容,应当转向编辑软件本身的比较功能,如MS Word的比较文件功能。

  从TC7开始,比较文件窗口也添加了编辑功能。可以对内容进行编辑修改,保存后重新比较;也可以直接把一侧的某一行(段),复制到另一侧。

2. 个性化设置

  - 自定义颜色。文件内容比较视图中,对差异部分、选定差异部分的颜色可进行自定义设置,并且文本与二进制模式可设定不同方案。设置方法如下图:
图:设定颜色
  - 窗口上下并列。可以通过临时点击界面图标,或修改wincmd.ini,在[Configuration]中加入 CompareVertical=1 来设定2个文件在比较窗口中上下排列显示。
  - 外部比较程序。如果觉得TC的比较功能不够专业和强大,可以指定外部比较工具,比如WinMerge等,由TC在比较时进行调用。

3. 更多实例

例1:WPS 2007放弃了自有格式。
  笔者在试用WPS 2007时,怀疑它放弃了独立文档格式而采用MS Office格式。最简单的验证办法,在WPS 2007中新建一个文档,先保存为 a.doc,再保存为b.wps。然后用TC进行比较(二进制),发现只有文件头部有一处差异,其他内容全相同。
  由此,对底层文件格式一无所知的笔者,就意识到了WPS已从底层走向了MS Office的兼容或模仿之路。

例2:张学思版三个启动方式的区别
  在前某讲中提到,张学思版安装后会有3个快捷方式,分别对应不同的使用习惯。它显然不是装了3套TC,而只是调用3套设置文件。按图索骥,顺藤摸瓜,找到Wincmd-sj1.ini、Wincmd-sj2.ini、Wincmd-vs.ini,就可以很容易发现它们的差别了。

例3:研究wincmd.ini
  这是TC设置总管文档。想了解前台的设置对应哪些键值吗?有个简单的做法。在进行某项操作前,先复制此文件的副本。然后做完设置,再比较它与复本的区别就行了。

二、比较和同步文件夹

  同步文件夹,就是将两个文件夹(也可以是压缩文件)在两侧窗口分别打开,然后进行比较,并提供后续同步功能。

1. 操作实例

  大家知道,TC从低版本向高版本升级时,可以直接运行安装文件,这样安装后仍会保留原来的配置。但很多TC用户,尤其是处于兴趣研究期的用户,通常采 取手工升级方式。
  比如下面的演示中,原来的TC为7.01,然后与7.02a安装包进行比较,找出更新的文件,然后把这几个文件复制或同步过来即可。
  请看演示:615X380,258KB

  对演示简单讲解一下:开始是将安装文件(后缀为exe,实际是自解压格式的压缩文件),按Ctrl+pagedown展开,再进入其中的主要压缩包。然后将其内容与安装的TC进行文件夹比较,快捷键是Shift+F12(张学思、shanny版)或Shift+F2(xbeta之wincmd.ini 用户)。然后,根据经验判断出需更新的文件,进行同步。因为TC主文件正在使用,所以要通过其他办法覆盖。

2. 详细介绍

[图]
  “比较/同步文件夹”界面中,最顶排两个地址栏分别为比较对象。除了在TC主窗口中选择外,也可在此处用各自右侧的>> 按钮改变比较目录。
  比较功能中,你可以设定只比较选TC主窗口中选定的文件,还是是比较所有件,是否包括子文件夹。
  “备份左边文件夹”,这一选项要特别注意,通常不要选。如果选中,表示你的目的是:认为左边是最新目录,而右侧是它的备份,你要保持右边与左边完全相同。也就是说,如果一个文件只存在于右边,则同步后的结果是它将被删除,而不是通常的复制到左边。
  所谓一个文件在两边都有,是指文件名称相同。那么它们是否相同(=还是≠),可以大小、日期、内容来看。
  如果文件大小不同,则TC直接判定为≠。
  如果大小相同,则还要根据选项来比较文件的内容和日期。多数情况下,我们会选中“包括内容”和“忽略日期”。也就是说,文件内容相同才是真正相同。

  显示选项中,4个按钮分别为表示:
  →:仅显示按比较结果需要从左侧复制到右侧的文件。
  ←:仅显示按比较结果需要从右侧复制到左侧的文件,或者(在“备份左侧文件”方式)右侧将删除的文件。
  =:显示按当前比较规则视为相同的文件。
  ≠:显示不相同的文件,但没有默认复制方向(如日期时间相同,或忽略日期/时间)。

  更多内容,例如收藏按钮、zip与ftp的比较、特定文件类型的比较,请参考帮助文件。

三、显示文件夹差异

  正如文章开头所讲,此功能的名称“比较文件夹”,会令人误解。它的准确描述应该是,“将两侧窗口的内容进行比较,选中不同的文件”。
  - 它没有专门的设置和操作界面,只是就当前两侧窗口显示的内容进行比较。
  - 比较对象中,忽略子文件夹。但可以用Ctrl+b提前展开。
  - 将“比另一侧更新”的内容置于选中状态。
  - 选择标准是:你无我有,你有我新。
  - 谁有谁新的依据是:文件名相同则为都有,谁新只看文件属性的更新时间,而与内容无关。

  请看演示:640X460,41KB。演示内容为4种情形的比较结果。

  此功能可以理解为“文件夹同步”的简化版。适用于简单的比较与同步,具体场景参见下例。

四、综合运用举例

  终于想出一个比较满意的例子,既能体现xbeta的“因需而用”软件应用观点,又综合了TC的上述3项功能。

  第一幕:
  善用佳软2007人字第3号通知:“已将『2007优秀免费软件』评选材料初稿发往各网友信箱。请大家审阅,可以补充新软件,也可以对原材料中不妥之处进行修改。”
  于是,各网友查收邮件,只见一附件“soft2007.zip”,解压后得“soft2007”目录,内有vim.txt、tc.txt、 irfanview.txt等60余文件。各网友自行审阅,暂且不提。

  第二幕:
  xbeta收到网友西门免费吹雪回信:“十余文件有改动,另增加了十余新软件材料”。展开附件,结果是70多个文件。
  画外音:本机文件自发邮件后并无改动,所以,只要用最简洁的“比较文件夹”就能找出新加和更新的文件。
  于是,打开TC,使用“比较文件夹”功能,找出了附件中15个更新文件与17个新添加文件。按下F5,复制了过来。
  提问:如果xbeta在北京,而西门免费吹雪在美国,此操作可能会出现何种问题?提示:时区、更新时间。

  第三幕:
  xbeta收到网友“楚留香:盗帅不盗版”回信:“更新了几处,添加了几处”。
  画外音:由于某些文件已被西门修改过,所以,如果楚留香也修改了同一文件,则不应直接覆盖。否则,西门网友的劳动成果就付之东流了。
  xbeta打开TC,使用“文件夹同步”功能,进行比较,选中“忽略日期”,“按内容比较”。结果发现,楚留香有6个新添加文件,另有7个文件左右不同。
  xbeta首先将6个新增文件复制了过来,并且重命名为“楚留香荐-xx.txt”。
  对于7个不同文件,按时间排序并进行观察:
  - 有3个文件,在本机的更新时间接近西门的邮件时间,新于xbeta的发出时间;而楚留香附件中这些文件,更新时间比较早,应该是最初xbeta的修改时间。由此断定,此3件文件显示不同,是因为本机文件为西门修改版,楚留香并未改动此3文件。
  - 有2个文件,情况与上相反。即本机为原始旧文件,而楚留香处日期较新。可知,本机为原始文件,直接用楚留香版更新即可。
  - 有1个文件tc.txt,从本机日期可知,西门已做过修改;而楚留香版更新日期也比较新。于是,在比较窗口此文件上点击右键,点击“比较左右两边的文件”,进入文件比较窗口。可以发现,两个版本的差异是,西门版添加了一句“TC操作,迅捷如剑”,而楚留香则加了一句“TC目录转换,胜于世间一切轻功。TC之伟大,令人不忍盗版,已34$注册矣。” 于是,xbeta无须复制此文件,只将楚留香所加段落复制到原文件中即可。

  第四幕:
  有了TC的帮助,评选过程很顺利。最终Total Commander、Vim、7-Zip、GIMP、Wink等荣获十佳。
  

五、总结与作业

1. 本讲总结

  本文介绍了Total Commander的三项文件(夹)比较与同步功能。这些功能的应用机会虽然比文件夹定位、查看少得多,但只要留心,仍会让你在实际应用中受益。
  它们技术层面的细节和高级设置,有兴趣者可参考帮助文件。如果没有兴趣或需求,则知其大概即可。

2. 作业

  1. 本讲提到,TC支持调用第三方工具来比较文件内容。如何设定呢?请Google寻找答案。如果找不到,可参考,张学思版安装后附带文件。路径形如“d:\studytc\tc7zxs\TOTALCMD\说明文档\ini 配置说明.rtf”。
  2. 利用文件比较功能,研究张学思版4个快捷方式所对应运行参数的区别。
  3. 利用文件夹同步功能,研究张学思版、原版、shanny版的区别。

3. 下讲预告

  TC文件系统插件

[附] TCEE安装过程

  Total Commander影响最大的汉化版当属张学思版,其次为Shanny版。TC Shanny版分为TCEE(美化版)和TCPP(插件集)两部分,TCEE包含美化版TC和几个最小巧常用的插件;TCPP包括更多插件。
  TC Shanny版主页
  安装过程演示如下,请点击“下一步”按钮,模拟安装过程。如果你已经安装过TC,则会提示要“覆盖安装”。如果你不想覆盖,可以先退出安装过程,运行regedit或regedit32,手工把注册表中[HKEY_CURRENT_USER\Software\Ghisler]分支删除后,再重新安装,这时用户可以指定安装目录。当然,也可以先导出注册表项,再删除;在安装后,再恢复注册表项。
  请看演示:503X378,114KB

(完)

版本历史:
  2008-03-04:修改html代码中个别flash版本号,由7改为5,某种程度上方便低版本用户。
  2007-11-06:初稿