查找重复文件,文件名规范,在win电脑上合理、高效存储文件 ...

      最后更新:2022-01-12 05:25

      高效管理电脑文档

      • 出发点
        • 推荐一适合大众用户的省时好用懒人方法
      • 管好文件的基础
        • 一. 数据/文件的分类
        • 二. 数据/文件存放的地方
        • 三. 数据/文件名称和文件夹名称的规范和技巧
      • 查询重复文件的工具和方法
        • 现成查询工具
        • 网上的 Python 分享
        • 另一种解决方案的思路
          • 第一步:用下面的Dos命令遍历文件夹
          • 第二步:对上面的DOS输出表进行清洗
          • 第三步:构建->文件夹 + 文件名
          • 第四步:读出MD5值生成一个总表
          • 第五步:对比总表找出重复值
          • 第六步?可能最有效的清理手段->压缩包
      • 体会

      出发点

      用电脑已数十年,在这个过程中经历了软件系统的崩溃,硬盘的损坏,主板挂了,电脑的更新,外存的更迭,日积月累攒了很多数据/文件,有时为了重要的照片,特意备份了好几次,为了花了数月的项目保存了各个阶段的备份,而整理这些数据是一件很头痛的事情,当然也可以不管,反正现在存储介质越来越便宜,在此推荐一个最懒的方法,只要你把握好,基本就可以很快找到你需要的东西。

      推荐一适合大众用户的省时好用懒人方法

      前提条件:

      1. 所有数据都在本地win电脑上;
      2. 文件名都有自己的特征,容易辨别,一看文件名就知道里面的内容;
      3. 电脑上安装了查询神器 Listary ,详细信息请看前面链接里介绍。

      这是一个最省时间又好用的懒人方法,对于个人+数据量不大同时又很少换电脑的用户应该是一个最佳方案,只要你能够把第二点做好,同时安装Listary,一般来说就可以避免找不到文件的窘境,即使在一团乱麻里也立马可以找到有特征的文件,这个方法应该可以满足95%个人用户;世上没有对所有人一样的最好方法,只有最适合你的方法;如果选择这个懒人方案就不必看下面的介绍了。

      对于整天用电脑工作的人来说就需要花更多的心思来考虑一下这个问题,这样才能更快找到你所需要的数据或文件,避免重复劳动,避免有价值资料被埋没和被遗忘。在过去的很长时间里一直在找合适的工具,一直想把重复的文件找出来,同时再把文件规整一下,但一直没有找到合适tool,直到最近看到一些Python的分享才见到了希望,同时也看到仅仅靠工具还是不够的,基础应该是更重要,所以我们还是从基础开始。

      管好文件的基础

      虽然有上面的懒人方法,但这还是会有后遗症,最晚在迁移时你就会发现问题,所以打好基础非常重要。
      在没有系统的帮助下对于这件事通常来说要从 三个角度 来考虑:

      一. 数据/文件的分类

      a.对于个人来说重要+隐密性数据(跟财产或身份认证有关的密码、密匙、证件或密照,最高密级),这类数据保密性要求高但数量和体积相对都很小,这些数据可以多处备份;
      b.个人和家庭信息(相对来说保密要求不高,如来往信件、各种申请/求职、每月账单、保单、各种证明等);
      c.照片、视频和音频(这类体积非常大,当然也有很多没有保留价值的或垃圾);
      d.教育/学习类(书籍、教育视频、学习资料等);
      e.跟工作相关的,现实中在企业里使用员工私人电脑非常普遍,所以把私人数据跟公司数据分离也是要注意的地方;
      f.软件,这方面使用习惯会造成很大差异,为避免不必要的病毒风险,使用自己验证过的无病毒软件包是个更稳妥的方法,而且更省时间。

      二. 数据/文件存放的地方

      当你走进一间办公室,扫一眼电脑屏幕,绝大部分的电脑桌面上都是满满当当,电脑桌面干干净净的主,一般都是摆摆样子的,他的电脑不是干活用的;每个人都有自己的习惯和爱好,桌面是一个很方便和直观的地方,但不是长期保存文件的好地方,因为桌面在C盘,不易过大,对于单台电脑来说数据/文件存到哪里也是有一定讲究;
      通常推荐电脑共分4个盘,分别为C,D,E,F,盘;下图是推荐给企业的规范,个人也可以参考。
      在这里插入图片描述一般C盘可以设置100G,如果有经验可以相应减小,D盘100G也够了,剩下的可以根据需求分给E和F,F是你的电脑公私两用才需要。这样分盘的一个重要好处除了有条理外还有,在Win系统出问题的情况下,E盘数据可以很方便的复制出来,重装win也可以不覆盖E盘数据。
      除此之外我们通常还有 移动硬盘 、U盘、 云盘 、 SAN 或局域网的共享硬盘等;在此稍微花点时间理解和规划会让你在以后得到丰厚的回报,合理对重要文件进行多重备份,如移动硬盘+云盘备份,会让你减轻或避免突发事件的影响。

      三. 数据/文件名称和文件夹名称的规范和技巧

      好的名称:一目了然,让人不用进一步查看就知道里面的内容,避免让人产生疑问,此外还有其他的属性如:所属人、地点-时间、创建时间、序列号:版本号、序号。
      最好是唯一的,同时有特点,好记+易搜索
      如果需要分隔文件名的关键词,用下划线,而不是空格。
      在文件名末尾引入文件版本管理和文件编号。
      名称里除了西文的句号“.”不要夹带逗号、分号、减号、引号和问号等。
      不同场景不同需求,灵活运用规则进行命名。比如从同事处接收的文档,就保持源文件名,这样能够方便协同工作。

      编号 文件名例子
      1 支付宝_阿宝_月报_2021.11.xlsx (阿宝为帐号所有者,月份2021.11)
      2 苏州河夜景_阿狗_2021.10_SDIM8079.X3F
      (阿狗为拍摄者,SDIM8079.X3F为照片原始文件名)

      查询重复文件的工具和方法

      如前所说用电脑已经数十年,积攒了大量的资料,电脑也换了好几波了,现在也同时用好几台电脑,其次还用局域网的共享硬盘,所以情况相对复杂一些,日积月累产生了不少重复的文件,首先想到的是用现成工具。

      现成查询工具

      关于查询工具在网上有很多分享,有些介绍也非常详细,在下面列出一些供参考:
      Duplicate Cleaner
      Ashisoft Duplicate File Finder Pro
      EF Duplicate MP3 Finder
      Puran Duplicate File Finder
      FindDuplicate 这5款的介绍
      DoubleKiller
      dupeGuru
      CCleaner Free
      在这里插入图片描述这些工具都有一个特点在重复数量很少的情况下有可操作性,量大了以后实际上太费时间,几乎让人看不到结束的希望。所以在用了几次CCleaner Free以后就不了了之了。

      网上的 Python 分享

      在网上可以搜到很多关于查找重复文件的Python分享,但对使用者还是有一定的要求,至少要会搭建Python环境,下面两个分享应该够详细: 1.windows下安装Python , 2.Win, iOS, Unix Python环境搭建 。

      下面是测试过可以跑的网上分享

      原文出处: Python【习题】查找指定目录下重复文件并打印出来
      但这个程序不容错,如果有一个空文件程序就会出错,还有其他出错的可能,另外这次程序太慢,50多G的数据需要10个小时以上,如果出错还要从头来,所以这个程序只能用于小数据量。

      另一种解决方案的思路

      全部用Python逐个读文件在数量很大的时候速度还是一个问题,在Windows, Linux 上都有原生的遍历文件夹的命令,速度要快很多,然后用这个文件再去读文件的MD5值,然后对比MD5值找出重复文件,这个要快很多,不过还是有不少麻烦,如果有中文windows,英文windows和其他西语windows混在一起还是有很多一般人意想不到的问题。下面介绍一些必须的步骤:

      第一步:用下面的Dos命令遍历文件夹

      这个Dos命令非常快,几秒就可以了,存为folders.txt

      打开 folders.txt 文件

      Linux 下用 ls -lR >folders.txt 也非常快。

      接下来可以用Python完成下面的步骤

      第二步:对上面的DOS输出表进行清洗

      这个是比较难弄的部分,因为不确定性很大,是因人而异,比如:大小为0的文件,含逗号或问号的文件名等等都会出错,这还都是说得清楚问题,还有不知缘由的错误,所以Code就略过。如果你的文件比较简单,也许没有这么麻烦,也就不需要这一步,直接做第三步就可以了,如果有问题会不断打断第四步,直到问题都排除。

      第三步:构建->文件夹 + 文件名

      用Python处理,在这一步要注意的是 impfilename -> folders.txt也就是第一步导出的文件的名称和格式是否和下面的程序匹配,如果不完全匹配就需要更改几个参数。

      输出结果:

      大概的速度:从几千到几万条都在几秒钟内完成。

      第四步:读出MD5值生成一个总表

      这步是花费时间长的步骤,因为电脑要逐个访问文件,也是容易出错的部分,因为即使在win看似没有问题的文件,用Dos命令访问时也有可能出错。
      最后产生的是一张文件夹 + 文件名 + md5码的总表

      输出的结果长这样:

      第五步:对比总表找出重复值

      在第四步的总表里通过对比找出重复的文件,把第四步和第五步分开是为了更灵活、更快地进行对比,在需要的时候可以分段完成总表,如果想清楚了也许就会喜欢这种做法。

      重复的文件名输出

      在数据量大的情况下重复的文件名有可能会很长,可以在EXCEL里处理,原则上不建议用全自动处理,因为自动删除太容易,等发现出错已经晚了,所以不建议全自动删除。

      第六步?可能最有效的清理手段->压缩包

      在处理50多G文件的过程中,发现不少老数据只要稍加处理就可以大大减轻管理的负担,从数据的数量上讲,自己产生的文件数量非常有限,自产文件数量最多的可能是照片,但有保存价值的照片数量应该也很有限;数量最大的可能学习资料特别是软件包,项目数据或上网上下载的资料,这些资料时间性比较强,有些可以删除,但有些还是有保留价值,在这里介绍一种方法,可以大大减少文件数量。
      例如软件包 wordpress-5.2.4 有1835个文件,如果再弄几个版本,文件数就翻几倍,所以这类文件包,只要半年以上不访问的话,这些数据就应该打包,为了方便查找除了压缩包外用dir命令再做这个压缩包的文件清单,这样就既可以减少文件数量,就可以照顾到查询速度。在这个50多G大小的具体案例里,把原本18万多的文件压缩到2万以下,重复文件。

      wordpress-5.2.4 压缩前 压缩后
      文件数量 1835 2
      文件大小 43MB 12MB

      在这里插入图片描述

      Dos命令 解释
      dir e:temp /t:w /s 遍历e:temp,显示最后修改时间
      dir e:temp /t:a /s 遍历e:temp,显示最后访问时间

      项目数据也可以这样处理

      体会

      用MD5对比可以找出所有重复的文件,不查不知道,一查吓一跳,重复10次到20次的文件有不少,通过查找重复文件还可以很快发现一些结构性问题,可以通过调整文件夹结构来更合理规整文档。
      如何高效率整理电脑上的文件 ?作者:XNOM 这个分享很不错

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类