totalcommander「Total Commander」

  Total Commander鼠标右键菜单默认是右键长按1秒后才出来,右键单击用于复选,也就是右键单击相当于按住Ctrl再用左键点击,可以在配置》选项》操作》鼠标选择模式中修改为windows标准模式,就可以变成右键单击出菜单。

  关键字: total commander tc everything Total Commander(下称TC)和Everything都是我常使用的软件,一个是功能超级强大的资源管理软件,另一个是速度电光火石的文件搜索软件。将两者结合起来可以极大的提高工作效率。本文对两者的结合方法进行了介绍。这里参考了善用佳软和水木社区的讨论,以及【1】中的方法总结。1. 在Everything中调用TC 在Everything的安装目录下找到Everything.ini文件,其中包含着对Everything软件的设置选项。修改下面的几个条目: Ini代码 open_folder_path_command=$exec("c:/Program Files/totalcmd/TOTALCMD.EXE" "/O" "/T" "$parent(%1)") open_folder_command=$exec("c:/Program Files/totalcmd/TOTALCMD.EXE" "/O" "/T" "%1") 这样在Everything中搜索的时候,对于目录会通过TC来打开。需要注意的地方:在修改Everything的配置文件之前,最好是退出Everything。否则可能修改不成功或者是修改后会还原。 上面的两个设置中,其中第一个是指搜索到了文件,通过右键中的"Open Path"来打开目录;而第二个是指搜索到了目录,直接双击打开或者通过右键中的“Open”来打开。 在Everything.ini文件中还可以看到,还有类似explore_folder_command、explore_folder_path_command这样的项我们并没有修改。这些条目中定义了右键菜单中“Explore Path”所采取的行为。没有进行修改的一个原因是可以通过此选项来调用Windows的资源管理器,从而给打开目录提供了另外一种选择。 为了避免在新的TC中打开目录,可以设置TC仅仅运行一个实例。具体的操作方式是在“配置-选项-操作方式-主程序”中设置“只允许一个TC运行”。如下图所示。在上面的条目设置中,"/T"表示在一个新的标签中打开目录。如果不需要的话可以将此选项去掉。在网上的很多版本中,这个地方都写成了"/O /T",从而导致打开新标签失败。这里要注意的就是将选项单独开来。 2. 在TC中调用Everything 在TC的主目录下找到usercmd.ini(如果没有的话,手工新建一个),在其中输入下面的设置代码: Ini代码 [em_Everything] cmd=C:/Program Files/Everything/Everything.exe param="-search "%P "" 在上面的设置代码中,第一个是Everything的可执行文件路径,第二个是参数。这个命令的目的是在当前目录(%P)下进行搜索。如果希望是全局搜索,则可以将param中后面的"%P "去掉。这里需要注意的是,在"%P "中包含有空格,这样做的好处是在搜索的时候将会包含有子目录。如果只是希望在当前目录下搜索而不需要包含子目录,可以将此空格去掉。 接下来在设置选项中的其他设置中找到自定义快捷键的地方,进行快捷键设置。这里使用Windows资源管理器中常用的Ctrl+F作为搜索的快捷键。在自定义快捷键的地方选中Ctrl和F后,在命令后面的放大镜弹出窗口中可以找到前面设置好的em_Everything命令,并按后面的确定按钮使其生效。 通过这样的设置后,按下Ctrl+F,即可以通过Everything在当前目录下搜索文件了。

  Total Commander是代替资源管理器,进行文件管理的工具。侧重通过键盘的各类快捷键,极大提高文件管理效率,而通过它的各类扩展,它能实现各种远远超过资源管理器的的功能,例如,它可以通过插件管理你手机的全部功能。而Autohotkey是一个自动化软件工具,通过编写复杂度不一的脚本,可以把一些复杂的功能,通过一些简单的快捷键就可以实现,例如,游戏中需要按各种组合键才能放出的技能,通过合适的脚本,可能按一个键就可以实现了。

  totalcommander「Total Commander」

  打开软件并定位到需要查找文件的可能路径,快捷键ALT+F7(或直接点击下图中相机图标的位置)

  输入需要搜索文件夹或文件内容中的关键字,点击开始搜索

  要是想要文件搜索的更为正确一点,可以在高级页面下面,输入创建文件的时间范围;

  点击搜索,就可以搜索出含有关键词的所有文件

  从搜索的文件中选中自己需要的文件,点击转至此文件(ALt+G),就会自动定位到该文件所在的文件路径下面

  6

  若是搜索出的文件都不太确定是否是自己想要找到,可以将文件转出到列表,(ALt+L)从列表中打开文件,查找自己需要的文件;

  不知张学思版内置的tcmd是哪个版本,及用了哪些插件。现有的最新版9.22a版的文件夹树中都能看到各个磁盘分区的卷标。

  下面我要提到一个相关的问题,就是:

  一、在没有使用文件夹树的tcmd的文件窗口中,显示“我的电脑”的所有分区盘符时,没有显示卷标。目前直到最高版本9.22a.

  我也曾经设法设置要显示的列(列表项目或者说字段),还下载了一个号称能显示资源管理器的所有字段的tcmd的内容插件ShellDetails,也没有找到在tcmd文件窗口中显示磁盘卷标的显示方案;此外还有各个分区(盘符)的文件系统(譬如NTFS/FAT32/exFAT)。我专门下载了官方版,也没有卷标。这个问题我也需要解决,但经久未能解决。

  因此,要显示卷标,目前我使用以下替代方案。以下测试是在飞扬时空版total?commander?X64?version?9.22a?(以下简记作:飞扬时空tcmdX64v9.22a)和官方下载的9.22a中。

  二、目前能使用的在tcmd中显示磁盘卷标的最好方法之一是:显示文件夹树。在飞扬时空tcmdX64v9.22中,调用文件夹树的方法有两种:

  (1#)关联另一窗口的“文件夹树”,ctrl-F8,这样在当前两个窗口之一中显示文件夹树,要关闭这个文件夹树,则关闭标签,或者打开其他的驱动器号。

  (2#)关联本窗口或两个窗口的“文件夹树面板”:不停按ctrl-shift-F8,在三种状态之间切换:0个/当前窗口1个/2窗口各一个文件夹树。也可以用快键alt-WZ0/1/2调用菜单,或点击菜单:显示-文件夹树面板-0/1/2个文件夹树。(0个文件夹树,即关闭文件夹树。1个文件夹树,即两个窗口共用一个,被两个窗口中的当前活动窗口使用。)

  注意:为防止文件夹树的展开有时会很慢,因此我建议在选项中设置“不勾选始终显示整个文件夹树”,这个设置项是:totalcommand菜单:配置-选项-显示-文件夹树-不勾选始终显示整个文件夹树。

  注:综合(1#)与(2#),文件夹树与文件窗口共可以出现一个到三个,文件夹树的关联方式有三种:关联到另一个文件窗口;关联到活动文件窗口;关联到绑定的文件窗口。

  因此,我觉得,tcmd可以改变设计,将文件窗口与文件夹树窗口可以都允许使用一至四个,并且文件夹树与文件窗口的关联方式可以由一个按钮来控制;关联方式中,除以上三种方式之外,增加一种:文件夹树关联到自窗口,即点击文件夹树立即变成文件窗口;按返回再回到原文夹树的位置。

  此外,还可以在tcmd的现在有文件列表形式多样化,参见注释一。

  此外,还可以考虑在tcmd的文件列表的显示时使用自动换行,比如文件名超长时使用自动换行。这样,可以在有限的屏幕范围中充分的看到文件名信息,即使开了多个窗口也方便。这个目前我可以用xls电子表格间接实现。

  三、目前在tcmd中临时显示磁盘卷标的方法可以是:使用驱动器列表栏(这个不太好用,要是可以展开全部显示成一个工具栏或状态栏就好了)。如果在tcmdd菜单:配置-选项-布局-勾选显示驱动器列表栏,这样,在点击驱动器列表栏的下拉按钮时会显示所有磁盘分区的卷标;进入某个磁盘分区之后,会在驱动器列表栏上显示该分区的卷标。

  四:其他方法:使用批处理,将所有分区的某些磁盘信息(含卷标及文件系统名)保存为一个文件并打开文件。参见注释二。

  方案是:使用diskpart?/s?含用list?vol这行字的一个文本文件??磁盘信息(含卷标及文件系统名).txt文件。这里diskpart是操作磁盘的命令,?/s参数表示读取一个文件脚本来执行。

  另一种获取卷标的方法是:vol?盘符:|findstr?"卷是"?磁盘卷标清单.txt文件。这里表示将命令行的结果重定向到文件中。

  详见注释二。

  注释一:tcmd的文件列表形式现有:(#A)文件夹树;(#B)文件平铺(ctrl-B),即将所有子文件夹显示为一级;(#C)文件搜索列表。建议扩展功能:(#C增强)提供一键保存文件搜索列表为文件来调用(这个容易实现);(#D)提供文件树,像dos的tree命令一样,显示文件夹与文件的所有项目,并可以分级列表或多列分层视图(类似苹果电脑操

  作系统的文件管理方式或软件UltraExplorer的多列分层视图),这个实现稍麻烦,但是可以使用csv格式或xls表格来间接实现。

  注释二:?获取所有分区的某些磁盘信息(含卷标和文件系统名):

  goto?remend

  以下用于:

  获取所有磁盘分区的某些磁盘信息(含卷标和文件系统名)

  将以下:::与::两行之间的内容存后缀为.bat的文件,双击运行这个文件,即或获取。

  可以这样做:

  以下:::与::两行之间的内容复制到记事本保存为以下行的文件长名或缩略名,并运行。

  "TOListAllDiskVolFSetc获取所有磁盘分区的某些磁盘信息(含卷标和文件系统名).bat"

  "TolistVoletc获取卷标等.bat"

  :remend

  :::

  rem?filename:?"TolistVoletc获取卷标等.bat"

  rem?Thelist.txt?所有磁盘分区的某些磁盘信息(含卷标和文件系统名)Thelistofdiskvoletc_frdiskpart.txt

  rem?Fordiskpart.tmp.txt?供diskpart命令读入以列出所有磁盘分区的某些磁盘信息(含卷标及文件系统名)Fordiskpart_tolistdiskVoletc.tmp.txt

  @echo?off

  echo?计算机名:%computername%?TheList.txt

  echo?%date%?%time%?TheList.txt

  echo?list?volFordiskpart.tmp.txt

  diskpart?/s?Fordiskpart.tmp.txtTheList.txt

  echo.TheList.txt

  echo.TheList.txt

  type?TheList.txt

  del?Fordiskpart.tmp.txt

  @@rem?clip?TheList.txt

  @@rem?echo?磁盘信息(含卷标及文件系统名)已复制到您的剪切板中。

  notepad?TheList.txt

  del?TheList.txt

  pause

  ::

  goto.eof

  此外,还有一种得到所有卷标的方式,例如:

  echo?计算机名:%computername%?tmptmptmp.tmptmptmp

  echo?%date%?%time%?tmptmptmp.tmptmptmp

  vol?a:?|findstr?"卷是"?tmptmptmp.tmptmptmp

  vol?B:?|findstr?"卷是"?tmptmptmp.tmptmptmp

  ren?tmptmptmp.tmptmptmp?磁盘卷标清单diskvollist_frcmdline_VOL.txt

  可利用循环,生成字符A到Z的,读取字符A到Z的列表,配合以上命令使用。略。

  ::