清理垃圾bat(echo成功清除系统盘中的文件)

2023-03-29T11:43:27

图形用户界面的鼠标操作有它的优势所在,其文件系统是逐渐展开的,其操作有直观性。但如果想批量逐级建立n个文件或文件夹,遍历某个路径下全部子文件夹并删除某个类型或文件名中包含特定字符的文件,在图形用户界面下操作就很麻烦,没有效率,使用DOS命令,并写成批处理bat文件就很有效率。

例如,在程序编译后会产生很多的临时文件,但编译完成后并不想保留,但这些内容又分布在不同层次、不同名称的文件夹中,想定期清理这些文件,便可以写一个bat文件,只需要用到一个del命令,如果想让运行时友好一点,可用echo提示一下。

要清理磁盘中自己不需要的文件、垃圾文件或临时文件(.tmp),首先要明白几个概念:

1 这些文件一般保存在什么文件夹中?

2 这些文件一般是什么文件扩展名?

3 熟悉DOD命令del的使用。

前面两个问题,从以下批处理bat文件的内容就可以看出:

del /f /q %windir%\temp\*.* >nul
echo 成功清除系统临时文件夹中的垃圾文件!
echo.
del /f /s /q %userprofile%\cookies\*.* >nul
echo 成功清除当前用户所有的cookies记录!
echo.
del /f /s /q %userprofile%\recent\*.* >nul
echo 成功清除当前用户最近使用文件记录!
echo.
del /f /s /q %userprofile%\local settings\temp\*.* >nul
echo 成功清除当前用户临时文件夹中的垃圾文件!
echo.
del /f /s /q %userprofile%\local settings\temporary internet files\*.* >nul
echo 成功清除当前用户internet临时文件夹中的垃圾文件!
echo.
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
rd /s /q %windir%\temp & md %windir%\temp
echo 成功清除系统盘所有文件夹中的tmp文件!
echo.
del /f /s /q %systemdrive%\*.gid
echo. 
echo 成功清除了系统盘中的gid文件!
echo “.gid”后缀的文件是全索引文件。
echo Windows有时要创建这样的文件,用这些文件来保存帮助文件的信息,
echo 并且将它们以隐藏文件的形式和帮助文件存储在同一个目录下。
echo.
del /f /s /q %systemdrive%\*.chk
echo 成功清除了系统盘中的gid文件!
echo CHK的文件是用户在使用“磁盘碎片整理程序”整理硬盘后所产生的“丢失簇的恢复文件”,
echo 移动存储设备在读取数据的时候遇到断电或被强行拔出,也会产生大量的CHK文件。
echo.
del /f /s /q %systemdrive%\*.old
echo 成功清除了系统盘中的.old文件!
echo.
del /f /s /q %systemdrive%\recycled\*.*
echo 成功清除了垃圾箱中的文件!
echo.
del /f /s /q %windir%\*.bak
echo 成功清除当系统盘windows目录下的.bak文件!
echo bak是备份文件,保存修改前的内容为bak的备份文件(前提是设置了备份功能)。
echo.
del /f /s /q %windir%\prefetch\*.*
echo 成功清除当前用户internet临时文件夹中的垃圾文件!
echo.
pause
echo 垃圾文件已经清理完毕!

如果上面的某类文件你不想删除,只需删掉其对应内容后保存即可。

如果还有其他自己确定不需要的想清理但分布在各个文件夹中的某类文件,可以随时添加到以上bat文件中,如:

echo 正在清除F:\*.opt……
del /f /s /q F:\*.opt
echo 成功清除IDE的Option文件,工程关于开发环境的参数文件,如工具条位置等信息,保存工作空间的配置 。F:\*.opt!
echo 正在清除F:\*.ncb……
del /f /s /q F:\*.ncb
echo 成功清除.ncb文件记录了类的提示信息,如果类的成员函数和变量的提示不见了,重新生成该文件即可F:\*.ncb!
echo 正在清除F:\*.plg……
del /f /s /q F:\*.plg
echo 成功清除建立日志文件,是编译信息文件,编译时的error和warning信息文件F:\*.plg!
echo 正在清除F:\*.pch……
del /f /s /q F:\*.pch
echo 成功清除预编译头文件F:\*.pch!
echo 正在清除F:\*.res……
del /f /s /q F:\*.res
echo 成功清除VC++中编译好的资源文件(二进制) F:\*.res!
echo 正在清除F:\*.ilk……
del /f /s /q F:\*.ilk
echo 成功清除ILK:连接过程中生成的一种中间文件,只供LINK工具使用F:\*.ilk!
echo.
echo 正在清除F:\*.pdb……
del /f /s /q F:\*.pdb
echo 成功清除Program Database,记录了程序有关的一些数据和调试信息,在调试的时候可能有用。F:\*.pdb!
echo 正在清除F:\*.obj……
del /f /s /q F:\*.obj
echo 成功清除obj。F:\*.obj!
echo 正在清除F:\*.idb……
del /f /s /q F:\*.idb
echo 成功清除.idb记录了哪些文件是修改过的,需要重新编译的。。F:\*.idb!
echo 正在清除F:\*.tlh……
del /f /s /q F:\*.tlh
echo 成功清除tlh、tli文件:他们是VC++编译器解析 tlb 文件生成的标准 C++ 文件。F:\*.tlh!
echo 正在清除F:\*.tli……
del /f /s /q F:\*.tli
echo 成功清除tlh、tli文件:他们是VC++编译器解析 tlb 文件生成的标准 C++ 文件。F:\*.tli!

如果想让操作变得更友好,可以在文件的前面增加提示信息:

@echo off
echo 准备清理以下文件,按任意键即可开始:
echo.
echo 1 清除系统临时文件夹中的文件! 2 清除当前用户临时文件夹中的文件!
echo 3 清除当前用户所有的cookies记录! 4 清除当前用户最近使用文件记录!
echo 5 当前用户IE临时文件夹中的文件! 6 清除系统盘所有文件夹中的tmp文件!
echo 7 清除系统盘中的.old文件! 8 清除垃圾箱中的文件!
echo.
echo 9 清除系统盘中的gid文件!
echo “.gid”后缀的文件是全索引文件。Windows有时要创建这样的文件,用这些文件来保存
echo 帮助文件的信息,并且将它们以隐藏文件的形式和帮助文件存储在同一个目录下。
echo.
echo 10 清除系统盘中的CHK文件!
echo 是用户在使用“磁盘碎片整理程序”整理硬盘后所产生的“丢失簇的恢复文件”,
echo 移动存储设备在读取数据的时候遇到断电或被强行拔出,也会产生大量的CHK文件。
 
echo.
echo 11 清除当系统盘windows目录下的.bak文件!
echo bak是备份文件,保存修改前的内容为bak的备份文件(前提是设置了备份功能)。
echo.
pause
echo.
echo 按任意键开始清除操作

-End-