清理0字节文件和文件夹

  最近突然感觉到个人的开发机各种慢,也是啊,从我上大学时起至今,这台老古董跟了我七年多了,还好每年我会亲手给它做一两次的清理和养护,所以它现在依然可以玩命的为我工作。如果我没记错,距离我上一次做系统有两年多了,查看了一下磁盘的情况,window 2003系统 ,系统盘占了45G(满50G,这个里面还包括4G的虚拟内存),其他硬盘上也堆积了各种文件夹和文件,o(︶︿︶)o 唉,删了吧,不舍得,要么是自己做的,要么是辛苦弄来的;不删吧,那就是一堆杂乱无章的垃圾。要怎么办?

  给自己先立下这么个规矩

     1.文件夹深度不能超过5

     2.不保留0字节文件和文件夹

     3.执行磁盘碎片整理(文件压缩也是把散碎文重组的一个好方式,然后再解压缩,不懂的就当我是在胡咧咧吧

 

究竟这几步应该如何快速做到呢?

 


 

1.文件夹深度不能超过5

 

cmd  命令有一个  tree , 侬晓得伐?

复制代码
C:\Users\Administrator>tree "D:\Moontest\Moontest\删除0大小文件和空文件夹" /f
文件夹 PATH 列表
卷序列号为 A043-7C6D
D:\MOONTEST\MOONTEST\删除0大小文件和空文件夹
│  Program.cs
│  删除0大小文件和空文件夹.csproj
│
├─bin
│  ├─Debug
│  │      删除0大小文件和空文件夹.exe
│  │      删除0大小文件和空文件夹.pdb
│  │      删除0大小文件和空文件夹.vshost.exe
│  │      删除0大小文件和空文件夹.vshost.exe.manifest
│  │
│  └─Release
├─Controls
│      MyButton.cs
│
├─obj
│  └─x86
│      └─Debug
│          │  1111.csproj.FileListAbsolute.txt
│          │  2048.csproj.FileListAbsolute.txt
│          │  DesignTimeResolveAssemblyReferences.cache
│          │  DesignTimeResolveAssemblyReferencesInput.cache
│          │  GenerateResource.read.1.tlog
│          │  GenerateResource.write.1.tlog
│          │  ResolveAssemblyReference.cache
│          │  删除0大小文件和空文件夹.csproj.FileListAbsolute.txt
│          │  删除0大小文件和空文件夹.exe
│          │  删除0大小文件和空文件夹.Properties.Resources.resources
│          │
│          └─TempPE
│                  Properties.Resources.Designer.cs.dll
│
└─Properties
        AssemblyInfo.cs
        Resources.Designer.cs
        Resources.resx
        Settings.Designer.cs
        Settings.settings


C:\Users\Administrator>
复制代码

     这个层次分明了,如果实在太多,可以输入在命令后加上 >> d:\result.txt 即是

tree "D:\Moontest\Moontest\删除0大小文件和空文件夹" /f >> d:\result.txt

这种方式把结果导出到一个文件中查看。如果深度太大的,可以手动处理下,这个尽量不要写代码自动化处理,毕竟你不能把你的思维写到计算机里面,文件或删或合并或移位,还是人工的好点,当然我说的是对自己有价值有感情的东西,毕竟某些东西视同己出。

 


 

2.不保留0字节文件和文件夹

  这个不管我们采用什么样的系统清理工具,清理工具考虑系统稳定性,一般不会删除不在“花名册”中的0字符文件和文件夹。这样就可能导致我们曾经在安装删除时,系统中保留了大量的卸载后余下的垃圾文件(0字符文件和文件夹),久而久之,看到一堆堆我不认识的东西,心里特别不爽,看到一个,干掉一个;但是这种方式也太慢了。要怎么办呢?自己写个清理方法吧,呵呵。

  我自己提供一下删除0字符文件和文件夹的小代码,比较简单,不解释代码了,分成三段,根据喜好索取,我个人偏好Class2

 小代码

 

 

  想用拿去编译一下就好,想清理哪个磁盘或者文件夹,只需把生成程序copy过去run就好,当然也可以加参数指定路径。例如写个1.cmd文件,在里面写入

call  ..\这里写生成程序父路径\生成程序.exe   "c:\"   "D:\flash cs6完全自学教程"  "E:\Erlang项目"   ,

然后运行下1.cmd(别怪小弟太啰嗦)。

 

现在话题又扯回来了,刚刚我不是还说,很多系统清理工具,为了系统的稳定性,不会删除非“花名册”中的0字符文件和文件夹,我现在这么搞,系统稳定性不是大受威胁吗?

告诉你,如果你用的是个人计算机,尽管删吧,很多健壮性很好的系统程序都有文件自恢复能力(这一点在开发中很重要,配置文件被误删,或者是无法被程序识别,程序要有文件自恢复能力),不怕啦。但是这种方式绝对不允许用来清理正在运行服务器,除非你觉得脖子够粗,头掉不下来。

 


 

3.执行磁盘碎片整理

  这个就简单了,我喜欢使用defraggler,执行速度非常快,应该和ccleaner出自同一家族;当然也可以使用系统自带的字盘整理工具,但是有点偏耗时;如果文件比较大,对连续性要求比较高的话,可以使用压缩文件的方式。

 


 

 

 

      最终,通过删除、移动、合并方式。终于把C盘整理出10G剩余空间,其他盘也做了重复文件处理(重复文件处理比较简单,我这边是读取磁盘所有文件,将 文件创建时间和文件大小连接 并 文件路径,作为key-value插入哈希表,下次遇到重复键的,对比下文件特征(当文件创建时间和文件大小相等,从文件中随机取同位符,匹配是否相等,用来断定是否同一个文件),是同一个文件删除重复)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值