清除windows系统内的垃圾文件(bat)

把下面的文字复制粘贴到记事本,保存一下,后缀名默认下是”.txt"把后缀名改为“.bat"。改名后会有提示,直接按确定!然后双击就可以了。 [提示:要把"文件夹选项"里面的"隐藏已知类型的文件名"前面的勾去掉]

@echo off
pause
echo 正在清理系统垃圾文件,请稍等……
del /f /s /q %systemdrive%*.tmp
del /f /s /q %systemdrive%*._mp
del /f /s /q %systemdrive%*.log
del /f /s /q %systemdrive%*.gid
del /f /s /q %systemdrive%*.chk
del /f /s /q %systemdrive%*.old
del /f /s /q %systemdrive%recycled*.*
del /f /s /q %windir%*.bak
del /f /s /q %windir%prefetch*.*
rd /s /q %windir%temp & md %windir%temp
del /f /q %userprofile%cookies*.*
del /f /q %userprofile%recent*.*
del /f /s /q "%userprofile%Local SettingsTemporary Internet Files*.*"
del /f /s /q "%userprofile%Local SettingsTemp*.*"
del /f /s /q "%userprofile%recent*.*"
echo 清理系统垃圾完成!
echo. & pause

Dos小常识

①.默认情况下,每运行一个命令,就会在Dos窗口上显示出该命令,之后再显示运行结果,称之为回显。假若不想显示该行命令,只显示出运行结果,则只需要在该命令前面加“@”符号。这便是本程序第一行中的“@”的由来。

②.【echo 命令】显示信息,或将命令回显打开或关上

echo [ on | off ]
echo [ message ]

比如第一行的“echo off”意思就是,关闭以下命令行的回显,但并不包括本命令,所以在echo off之前仍然要加上“@”。再比如第三行,就是显示echo后面的字符串。

③.【pause 命令】暂停批处理程序,并显示以下消息:请按任意键继续…

④.【del 命令】删除文件命令,后面的参数“/f”、“/s”、“/q”的意思分别是:强制删除只读文件、从所有子目录删除指定文件、安静模式(删除全局通配符时,不要求确认。)

⑤.[%systemdrive%]可替代系统盘的盘符,因为有些人并不一定把系统放在C盘,所以不能直接用c:/*.xxx。

⑥.剩下的则是垃圾文件的后缀,或者是垃圾目录的位置的判断。比如*.tmp和*._mp是临时文件,*.log是日志文件,*.gid是临时帮助文件,*.chk使用“磁盘碎片整理程序”整理硬盘后所产生的“丢失簇的恢复文件”,*.old是备份的临时文件,*.bak是安装时存在的临时文件,等等。

⑦.[%systemdrive%recycled]指的就是垃圾箱目录,*.*即为所有文件,也可以只用一个“.”来表示。

⑧.[%windir%]的意思就是指系统文件的安装目录。安装目录里面也有很多垃圾文件,安装目录里面的文件夹prefetch是用来使开机时系统更快的启动,随着时间的增长这里面的文件会越来越多,从而拖慢系统的速度。为何不用[%systemdrive%windowsprefetch]呢?这是由于每个windows系统之间的系统目录名并不都是[windows],比如win2000的系统目录就是[winnt]。

⑨.【rd 命令】删除文件夹命令,后面的参数“/s”“/q”的意思分别是同时删除子目录和子文件、安静模式(删除子目录时不要求确认)。【md 命令】创建文件夹,刚才把temp文件夹删掉了,还必须在新建一个同名文件夹,以确保系统的正常运行。

⑩.[%userprofile%]指的是你的用户配置文件目录,一般是指“C:Documents and Settings你的用户名”这个目录。这个目录下面也有很多垃圾文件,比如下图所示:

包含垃圾文件的文件夹

他们都是用来存放用户在使用系统或者上网时产生的临时文件夹。

最后,问个小问题.echo. & pause 这两个命令加一起是什么意思呢?大家自己试试吧~嘿嘿

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据