奇客资讯、软件硬件、编程系统

February 7th, 2008

permalink 利用 Total Commander 搜索与批量改名

作者 xbeta
首发版 http://article.pchome.net/content-485959.html

一、直观体验

一如既往,我们先看一段视频,对搜索、批量改名有一个直观认识。(以下为flash演示,如看不到,请检查你的浏览器设置)


上述视频中,演示了这些操作:在TC目录搜索所有txt文件,把它们复制到某个目录,并更改名称为“文本编号_文件大小.txt” 格式。

二、文件搜索

1.启用搜索:Alt+F7 还是 Ctrl+F?

如何在TC中启动搜索呢?如果你以前未用过此功能,你应该想一下其他软件的操作方式:

  • win+f:windows中启动搜索
  • Ctrl+f:大多数windows下软件都是这样启动搜索,如MS Office,也包括TC的lister(就是F3预览)
  • /:vim和Firefox,及一些unix风格的其他程序。

平心而论,如果从兼容用户习惯而言,TC应采取Ctrl+f的方式。OK,那就按下试试。

  • 如果你成功了启用了搜索,恭喜你。并且我猜,你大概用得是张学思版,或自己更改了设置。
  • 如果按下ctrl+f,结果弹出了“FTP连接”,也不要着急——因为这是TC的默认设置。这时,你可以跳转到本篇的“更改快捷键”部分,进行更改。也可以继续向下看。

快捷键:在TC官方默认设置中,Alt+F7是文件搜索。

2. 搜索:常规选项

"tc搜索"

  1. 文件名:搜索对象
    • 基本应用
      输入部分文件名,用?代表一个字符,用*代表任意数量任意字符。
    • 文件名之“|”
      “|”:表示排除,先按视频操作,搜*.txt。再搜“*.txt|re*”,看一下结果有何变化?再试一下“*.txt|*re* hi*”的搜索结果。不明白?请看帮助。
    • 文件名之“正则式”
      选中“正则式”,在文件名中输入“d”,结果是什么?答案:名称中含有数字的文件。
      再输入“..a”,结果是什么?
      换为“^..a”,结果又是什么?
      不明白?请参见帮助。正则表达式,是区分文本编辑器或文件管理器是在初级阶段还是高级阶段的标志,也是提高计算机使用效率的一大工具,请自行学习。
  2. 文件夹:搜索范围
    • 默认情况下,自动把当前文件夹带入对话框中。
    • 可以在对话框中,用分号加入多个目录,如在“c:Program Files;d:Program Files”中搜“*.exe”
    • 如果在搜索之前,选中了几个文件夹,则可以勾选“只在指定的文件夹中”
    • 可以通过下拉框选择历史文件夹,通过浏览框选择任意目录,通过“驱动器”选中一个或多个硬盘。
    • 选定了大范围后,还可以限定对其下子目录的处理:
      "图片"
    • 还可以指定,让目录中的压缩文件也参与搜索——上一讲中强调过,TC视同压缩包为目录,十分方便。
  3. 查找文本
    比如,我们要在金庸小说合集中,找含有“杨过”的小说,就可以如下图搜索。
    "图"
    查找文本的选项很多,可注意“查找不包含该内容的文件”、文件编码。另外,这里也支持正则表达式。

3. 搜索:高级选项

高级选项可处理文件的时间、大小、属性,并具有简单的查重功能。

文件时间
这里的文件时间,实际是文件修改时间,不是文件创建时间或文件访问时间。对于文件时间的选择,可以按绝对标准(从某日~某日)或相对标准(以现在为基准,N天内)——还记得上次讲的,把7天内更新的文件设置为其他颜色的操作吗?

文件大小
看看就明白,不用讲了

属性
看看就明白了,看不明白也不讲了。我还未遇到过要看文件属性搜索的情况。

文件查重
当然有专门的文件查重工具,但这种频度极低的操作,下载一个专门工具,对多数人而言未免浪费。TC此功能虽然不是很强,用起来(比如删除重复文件)不是特别方便,但关键时候还是能发挥作用的。
文件名和大小的选项,至少二选一,也可全选。最后的按文件内容可选可不选。
试着搜我的常用素材图片,果然发现了6对大小相同的图片;如果再加上内容相同,则只有5对。一一检查,果然是重复文件。其中差异的一对是图片完全一样,但颜色做了调整。

补充:查重后处理工具
TC在查出重复文件后,只会告诉你结果。这时,如果你想把重复文件全部删除,就要先选中它们。因为它们呈AABBCC这样的排列形式,所以想选出一套ABC来实在不方便。为此,有人制用了小工具一一选择,详情参见《DupSelector.exe:让TC文件查重后自动选中重复项 》。
 _fcksavedurl=DupSelector.exe:让TC文件查重后自动选中重复项 》。
"tc_023.png"


4. 搜索:插件选项

首先声明一下,我到目前为止,并未实际用过任何内容插件;我常用的TC下,也未安装内容插件。因此,限于经验,如果讲的不对,请大家指正。
内容插件,顾名思义,就是把文件的内容进行提取,供文件管理器进行处理的。应该说,这是一个较大的进步。因为传统的处理文件,所关注的信息是来自于文 件索引,同时把文件内容看做无意义的比特流,至于是何种格式、何种内容,并不区分。而内容插件则是从文件头,提取相关信息,以备使用(比如搜索、自定义 列、改名)。
因此,多数内容插件是针对不同的文件类型的,并且以多媒体居多。看一下 http://www.ghisler.com/plugins.htm 相关内容就知道。
用张学思版举几个例子:比如用cdocprop插件,搜“作者”为自己的word文件。补充:由此你应该想到,如果你想用这一功能来便利搜索,就应该在维护文件信息时,先输入这些信息。也就是说,用户要根据软件的功能,调整应用习惯。
再例:用imgsize或exif等插件,搜“宽度”大于1024的照片。这一点对我还有点用处,因为我的习惯是把别人发来的过大的数码照片,先删(保留十分之一)再缩(缩到当前电脑屏幕分辨率)。
除了图像文件之外,内容插件最丰富的就是音频、视频文件了。

5. 载入/保存

载入保存并不是搜索本身的功能,而是从搜索功能引出的一个中间成果。但是此成果可以被其他功能所调用,从而大大拓展了其应用效率。
在前面的多个标签中,我们可以组合设置复杂的搜索条件。所谓保存,就是为这些条件取一个名字,下次重新搜索时,就无须重新输入,只要在这里“载入”即可。此外,在颜色设定中,文件类型也是依据此处的搜索条件保存结果。
在张学思版TC中,已经预置了多项搜索规则,大家可以自行研究,这是快速提高应用水平的好方法。如何研究?只须选中一个规则,载入,然后看一下各标签中的选项——看之前先想一下更好。更重要的是,要想一想会有哪些用处。
搜索规则可以新建(即保存)、删除。能否修改呢?好好想一想吧。


6. 搜索结果

搜索得到结果后,TC仍提供了远超过资源管理器的功能。

  • 点击搜索列表,直接Ctrl+c可复制列表。
  • 选中某一个(注:此处无法多选,无法右键选择)文件,按“查看”或F3快速查看文件内容。
  • 选中某一个文件,可跳转到所在目录并选中此文件。
  • “输出到列表”,张学思版似乎译为“填入文件窗口”,是一个极为有用的功能。这相当于把搜索命中的所有文件——原来分散在不同目录——集合到了一个虚拟目 录下,在此可以对它们进行批量操作。比如改名、移动等。小技巧:按住shift再点此按钮,则会把文件列表输出到新tab中,这样就不会影响当前窗口的内 容了。

7. 补充

搜 索是一个复杂功能,因此,应优先采用其他方式来寻找和定位文件,这样才能提高效率。比如Ctrl+b后排序,或过滤,或直接输入字符串定位,会比alt +F7输入一系列选项更快速。当然,Ctrl+b一定不要用于文件总数过多的大目录,如windows和program files目录。

二、批量改名

批量改名的操作方法是,选中多个文件——也可以包含文件夹,然后按快捷键 ctrl+m。

1. 基本选项

"tc_024.png"
TC批量改名界面上,基本选项主要有:文件名、扩展名、替换、计数器4部分。

文件名
[N]表示文件名本身。
[N1-2]表示文件名中,第1-2个字符。其他形式还有[N3,4]表示从第3个字符开始的4个字符,[N2–3]表示第2个到倒数第3个字符。更多参见帮助。此外,还有[P]、[G]占位符。
[C]表示计数器,参见相应选项。
日期和时间实为修改的日期和时间,更丰富的时间可通过“插件”来获取,大家可自行实验。

扩展名

请参照文件名,略

替换
表面看平淡无奇,但可以通过正则表达式、多次替换,实现神奇的效果。很多改名都是通过替换完成的。

计数器定义
设定起始值、步长、位数。看这里,好象只能是数字。难道TC真地不能用字母来进行计数吗?
请试一试[Ca+2]得到什么效果?

2. 高级接口
上面的做法都是用TC自身的改名功能,如果你觉得还不够,TC在7.0版开始,提供了文件名的外部编辑功能。点击图中按钮,在下拉菜单中选择“编辑”。由此,则文件名可以用VIM、excel等任何你擅长的工具进行编辑,然后,加载进来即可。甚妙!

3. 实用举例
文件改名,纸上得来总觉浅,绝知此事须躬行。我们看一下水木社区网友曾经遇到过哪些文件批量改名问题,又是如何解决的呢?(请水木各网友许可这些引用,我已保留链接,且此系列文章无任何稿酬)

实例1

file_A_2000.txt
file_B_2000.txt
file_C_2000.txt
file_D_2000.txt

改为

A.txt
B.txt
C.txt
D.txt


做法是:

文件名为[N6]


提问者补充说:

实际上,文件名中间的部分可能不只是一个字母,而且长度不一致,比如
file_A1_2000.txt
file_B23_2000.txt
file_C234_2000.txt
file_D_2000.txt
想只保留中间的部分

回答1:

没什么技术含量的方法:
分两次
第一次 search for: file_
       replace with: 空
第二次 search for: _2000
       replace with: 空

回答2:

一次就够了
       search for: file_|_2000
       replace with: 空


实例2
问题:

dhsah.dhjafh.ext
要把前面的.都改成_,后缀前面的点不改
文件前缀中可能有0-N个点。

回答:

三步即可,请先用少量文件试验。
① 文件名“[N].”,后缀仍为“[E]”,同时替换“..”为“@@@”,执行
② 替换“.”为“_”,执行
③ 替换“@@@”为“.”,执行


这一笨方法获得了好评!

更多实例参见作业部分,或到水木社区TC版搜“改名”“重命名”

三、说说快捷键

1. 默认快捷键不尽合理

大量快捷键是TC高效操作的基础。但有些默认快捷键并不符合大多数人的习惯。“民愤最大”的当属改名/F2了。TC默认键如下,几乎任何用户,都会把“改名”热键设为F2。

F2:刷新
Ctrl+r:刷新
F6:移动或改名

另外,热情高涨狂奔不已的runsnake网友,也是TC新任版主,还发文说说TC快捷键中最不合理的几个
一般用户,还会按汉化版的习惯,把Ctrl+1/2/3,分别设为复制文件路径、名称、路径+名称。

2. 更改快捷键

快捷键不合理,则改之。有2种方法。
一是图形化操作,如下图,点击放大镜图标,即可进入命令选择界面。但我可以保证,如果你想通览一下TC的全部命令,则这是一个好方法。如果你想找某条命令,恐怕要失望了。因为TC的内部命令太多!!!
""
所以,很多常用快捷键的更改,还不如采用方法2:到网上搜索一下,按结果直接修改ini文件。比如,在wincmd.ini的[Shortcuts]段,增加如下的内容:
C+1=cm_CopySrcPathToClip
C+2=cm_CopyNamesToClip
C+3=cm_CopyFullNamesToClip
C+4=cm_cm_CopyNetNamesToClip
F2=cm_RenameOnly
F6=cm_MoveOnly

修订版 blog.sina.com.cn/s/blog_46dac66f01000ci6.html
总目录 http://xbeta.info/studytc/index.htm