一键清理系统垃圾文件.bat 的原理

作者&投稿:景松 (若有异议请与网页底部的电邮联系)
一键清理系统垃圾文件.bat 的原理~

以以下几条语句为例
del
/f
/s
/q
%systemdrive%\*.tmp
del
/f
/s
/q
%systemdrive%ecycled\*.*
del
/f
/s
/q
%windir%\*.bak
rd
/s
/q
%windir%emp
&
md
%windir%emp
del是删除文件的命令,/f是强制删除只读属性的文件
/s
删除子目录下的相应文件
/q是安静模式,即如果你删除的文件含有通配符*,删除时不会询问你是否要删除全部文件,后面的%systemdrive%是系统的变量,代表你的系统安装的分区(通常是C:)*.tmp使用通配符*,代表任何文件名,tmp是文件的扩展名,tmp类型的文件是临时文件,所以都可以删除(其他类型的有的也是可以全部删除,此处仅以tmp举例),
*.*是删除文件夹下的全部文件(即清空文件夹),recycled是回收站
%windir%通常是C:\windows也就是windows安装文件夹
rd
是删除文件夹命令
/s删除子目录,/q删除子目录是不用确认
md是新建文件夹,由于temp文件夹是系统存放临时文件的一个必要文件夹删除后还要重建

批处理删除系统垃圾其实本身就是一个垃圾

如果你在网上搜索"清除系统垃圾的批处理"、"批处理清除系统垃圾"之类的关键词,能找到成千上万个类似于下面的批处理。这段代码可以说是广为流传,咋一用起来貌似也很不错,比那些优化软件方便多了,双击鼠标,一切搞定,还能弹出很酷的黑色界面。很多网友也乐于此道,还非常执著地从一个论坛转发到另一个论坛,在这个QQ群转发到那个QQ群,甚至email群发给N多同事。

其实这段代码本身就是一个垃圾中的霸主。那是什么?还是垃圾!

@echo off
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%ecycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%emp & md %windir%emp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%ecent\*.*
del /f /q %userprofile%\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%ecent\*.*"
echo 清除系统垃圾完成!
echo. & pause

这段代码本身没有任何错误,一般来说可以顺利执行。下面我们就来看看它的危害吧。

rd /s /q %windir%emp & md %windir%emp
如果你安装了IIS+ASP.NET的话,很可能就会遇到这个问题。在安装ASP.NET的时候,会对temp目录进行权限设置。但是上面这个命令在删除temp文件夹并重建的过程中,会把这个权限的设置抹杀掉。后果就是你的ASP.NET所有页面都不能成功打开,而且显示的错误是framework目录下temp中随机文件写失败(而不是windir temp目录缺少相应权限)。如果你没有看过类似的文章,恐怕很难知道从何下手解决这个问题。其实除了ASP.NET以外,其它应用程序也有可能出现同样的问题。

del /f /s /q %systemdrive%\*.log
日志文件可不是随便删除的,否则很多软件会无法正常卸载。更要命的是,你的数据库可能因此而崩溃。以前有位同事就被这个害惨了,当时请教了好几位OCP都没有办法,只好重装数据库。

del /f /q %userprofile%\cookies\*.*
我登陆大大小小的几十个论坛时,都选择了保存用户名和密码,谁要是把我的cookies删除了,我真想掐死他。

del /f /s /q %windir%\*.bak
不是所有的.bak文件都是垃圾。一些更改XP启动画面的软件,通常会将system32目录下的logonui.exe重命名为logonui.bak,当你觉得不爽,要卸载软件软件时,那么会自动还原为原来的logonui.exe文件。但是如果你在卸载之前就把.bak删除掉了,那就是真的不爽了。

以以下几条语句为例
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
rd /s /q %windir%\temp & md %windir%\temp
del是删除文件的命令,/f是强制删除只读属性的文件 /s 删除子目录下的相应文件 /q是安静模式,即如果你删除的文件含有通配符*,删除时不会询问你是否要删除全部文件,后面的%systemdrive%是系统的变量,代表你的系统安装的分区(通常是C:)*.tmp使用通配符*,代表任何文件名,tmp是文件的扩展名,tmp类型的文件是临时文件,所以都可以删除(其他类型的有的也是可以全部删除,此处仅以tmp举例),
*.*是删除文件夹下的全部文件(即清空文件夹),recycled是回收站
%windir%通常是C:\windows也就是windows安装文件夹
rd 是删除文件夹命令 /s删除子目录,/q删除子目录是不用确认
md是新建文件夹,由于temp文件夹是系统存放临时文件的一个必要文件夹删除后还要重建

临时文件——*.tmp、*._mp
日志文件——*.log
临时帮助文件——*.gid
磁盘检查文件——*.chk
临时备份文件——如:*.old、*.bak
相关命令行解释以及知识

 *.bat的文件就是批处理文件,是一种文本文件。简单的说,它的作用就是自动地连续执行多条命令,批处理文件的内容就是一条一条的命令。

echo、@、call、pause、rem 是批处理文件最常用的几个命令,我们就从他们开始学起。

echo 表示显示此命令后的字符
echo off 表示在此语句后所有运行的命令都不显示命令行本身
@ 与echo off 相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。
call 调用另一条批处理文件(如果直接调用别的批处理文件,执行完那条文件后将无法执行 当前文件后续命令)
pause 运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续
rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的

批处理文件中还可以像C语言一样使用参数,这只需用到一个参数表示符%。
%表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从 %0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。
例如,C:根目录下一批处理文件名为f.bat,内容为 format %1
则如果执行C:\>f a: 则实际执行的是format a:
又如C:根目录下一批处理文件的名为t.bat,内容为 type %1 type %2
那么运行C:\>t a.txt b.txt 将顺序地显示a.txt和b.txt文件的内容
if goto choice for 是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。
if 表示将判断是否符合规定的条件,从而决定执行不同的命令。有三种格式:
1、if "参数" == "字符串" 待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if "%1"=="a" format a:
2、if exist 文件名 待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。如if exist config.sys edit config.sys
3、if errorlevel 数字 待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2 DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码
goto 批处理文件运行到这里将跳到goto 所指定的标号处,一般与if配合使用。 如:
goto end
:end
echo this is the end
标号用 :字符串表示,标号所在行不被执行
以下是命令了一些帮助

//-----------------------del--------------------------------------------//

删除一个或数个文件。

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

names 指定一个或数个文件或目录列表。通配符可被用来
删除多个文件。如果指定了一个目录,目录中的所
有文件都会被删除。

/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 从所有子目录删除指定文件。
/Q 安静模式。删除全局通配符时,不要求确认。
/A 根据属性选择要删除的文件。
attributes R 只读文件 S 系统文件
H 隐藏文件 A 存档文件
- 表示“否”的前缀

如果命令扩展名被启用,DEL 和 ERASE 会如下改变:

/S 开关的显示句法会颠倒,即只显示已经
删除的文件,而不显示找不到的文件。

//---------------------------------------rd----------------------//

删除一个目录。

RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path

/S 除目录本身外,还将删除指定目录下的所有子目录和
文件。用于删除目录树。

/Q 安静模式,带 /S 删除目录树时不要求确认

@echo off
@ ECHO.
@ ECHO.
@ ECHO. 说 明
@ ECHO -----------------------------------------------------------------------
@ ECHO 这是网上流传的批处理。它会帮您删除回收站、临时目录、最近打开过的文档痕迹
@ ECHO 等。对系统运行会有帮助。如果你电脑运行速度很慢,是因为是因为太多无用的运
@ ECHO 算占据了CPU和内存资源所致。重做系统或用Ghost恢复系统是最彻底的办法。
@ ECHO.
@ ECHO -----------------------------------------------------------------------
@ ECHO.
echo.
echo 本程序特点:
echo 鉴于很多人把IE缓存等文件夹转移到非系统盘,
echo 所以,本程序清理垃圾文件时,首先进行判断系统的设置。
echo.
echo.
echo 优点:清理位置更加准确,策略更加科学。
echo.
echo.
pause
@echo off
color 2f
Title 系统垃圾文件清理器
echo.
echo.
echo 开始执行清理……
echo.
echo 正在检查cookies、历史纪录等目录位置(当前用户)……
reg query "HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache>%temp%\cleantmp.txt
reg query "HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cookies>>%temp%\cleantmp.txt
reg query "HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v History>>%temp%\cleantmp.txt
reg query "HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v NetHood>>%temp%\cleantmp.txt
reg query "HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Recent>>%temp%\cleantmp.txt
echo 正在清理Cookies、IE缓存、历史纪录等(当前用户)……
for /f "tokens=3*" %%a in (%temp%\cleantmp.txt) do (
for /d %%i in ("%%a %%b\*.*") do rd /s /q "%%i"
del /a /f /s /q "%%a %%b\*.*"
)
::跟上面几项未必是重复的(!),也是对当前用户目录
echo 正在清理临时文件 (系统目录)……
del /a /f /s /q "%userprofile%\Locals~1\Tempor~1\*.*"
del /a /f /s /q "%userprofile%\Locals~1\Temp\*.*"
del /a /f /s /q "%userprofile%\cookies\*.*"
del /a /f /s /q "%userprofile%\recent\*.*"
del /a /f /s /q "%Temp%\*.*"
del /a /f /s /q "%Tmp%\*.*"
del /a /f /s /q "%HomePath%\..\IconCache.db"
echo 正在清理系统目录中的垃圾文件 (稍候,需要点时间)……
del /a /f /s /q "%SystemRoot%\*._mp"
del /a /f /s /q "%SystemRoot%\*.bak"
del /a /f /s /q "%SystemRoot%\*.log"
del /a /f /s /q "%SystemRoot%\*.dmp"
del /a /f /s /q "%SystemRoot%\*.gid"
del /a /f /s /q "%SystemRoot%\*.old"
del /a /f /s /q "%SystemRoot%\*.query"
del /a /f /q "%SystemRoot%\*.tmp"
rd /s /q "%SystemRoot%\Downloaded Program Files"
rd /s /q "%SystemRoot%\Offline Web Pages"
rd /s /q "%systemroot%\Connection Wizard"
rd /s /q "%SystemRoot%\SoftwareDistribution\Download"
rd /s /q "%SystemRoot%\Assembly"
rd /s /q "%SystemRoot%\Help"
rd /s /q "%SystemRoot%\ReinstallBackups"
del /a /s /q "%SystemRoot%\inf\*.pnf"
del /a /f /s /q "%SystemRoot%\inf\InfCache.1"
dir %SystemRoot%\inf\*.* /ad/b >%SystemRoot%\vTmp.txt
for /f %%a in (%SystemRoot%\vTmp.txt) do rd /s /q "%SystemRoot%\inf\%%a"
del /a /f /s /q "%SystemRoot%\driver?\*.pnf"
del /a /f /s /q "%SystemRoot%\driver?\InfCache.1"
del /a /f /s /q "%SystemDrive%\driver?\*.pnf"
del /a /f /s /q "%SystemDrive%\driver?\InfCache.1"
rd /s /q "%SystemRoot%\temp" & md "%SystemRoot%\temp"
del /a /f /s /q "%SystemRoot%\Prefetch\*.*"
del /a /f /s /q "%SystemRoot%\minidump\*.*"
echo 正在清除无用的磁盘检错文件 (系统分区)……
del /a /f /q "%SystemDrive%\*.chk"
dir %SystemDrive%\found.??? /ad/b >%SystemRoot%\vTmp.txt
for /f %%a in (%SystemRoot%\vTmp.txt) do rd /s /q "%SystemDrive%\%%a"
echo 正在清理系统升级补丁留下来的反安装目录 (已修正能正确清除)……
dir %SystemRoot%\$*$ /ad/b >%SystemRoot%\vTmp.txt
for /f %%a in (%SystemRoot%\vTmp.txt) do rd /s /q "%SystemRoot%\%%a"
echo 正在清除常见的软件垃圾项目 (按默认目录)……
rd /s /q "%ProgramFiles%\InstallShield Installation Information"
Ren "%ProgramFiles%\Common~1\Real\Update_OB\realsched.exe" realsched.ex_
Del "%ProgramFiles%\Common~1\Real\Update_OB\realsched.exe"
Reg Delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v TkBellExe /f
rd /s /q "%ProgramFiles%\Tencent\QQGame\Download"
taskkill /f /im "TIMPlatform.exe" /t
del /a /f /s /q "%ProgramFiles%\Tencent\QQ\TIMPlatform.exe"
del /a /f /s /q "%ProgramFiles%\Kaspersky Lab\*.tmp"
del %SystemRoot%\vTmp.txt
echo.
echo 全部清理完毕,任意键退出 (注: 若提示文件没找到是正常的)……
pause


怎样一键清理电脑缓存垃圾
                ☆★ echo.★☆  正在教你如何清除系统垃圾文件        ☆★ echo.★☆  请稍等...    ...

清除电脑垃圾的指令按的是什么键(电脑删除垃圾文件的各种方法)
有些电脑,小白,不敢轻易移动c盘里的大小文件,他们不 我不知道也不知道它们是否是系统自带的文件。一次意外导致电脑系统崩溃。我给你一些简单的操作方法,帮你减轻电脑负担。1.从控制面板清除软件。我们参照图中的操作,按下快捷键 quot赢R quot要进入窗口,请输入 quotgpedit.msc quot,弹出 quot...

win7如何一键清理系统垃圾|win7批处理命令清理垃圾的方法
当然可以了,我们可以使用批处理命令就可以做到,下面请大家跟小编一起来学习一下win7批处理命令清理垃圾的方法。方法\/步骤:1、首先在桌面新建一个txt文件,右键空白处打开菜单,选择“新建--文本文档”;2、打开刚刚新建的txt文件,复制如下命令代码到txt文件中;@echooffecho正在清除系统垃圾文件,请稍等...

老司机分享清理win10系统垃圾的简单方法
电脑C盘里面的可用空间就会变得比较小,导致开关机速度慢,打开软件会等待一两分钟,所以要定期清理文件。清理win10系统文件的方法有很多种,其中bat批处理命令的好处在于,执行方便快捷,只需动动鼠标即可清理系统垃圾文件,欢迎大家一起来阅读。具体方法如下:1、鼠标右键单击,新建文本文档-记事本。2、在...

请问电脑系统垃圾怎么清理 如何给电脑系统加速【设置方法】
xp系统下电脑系统垃圾清理 第一种:磁盘清理 打开我的电脑 - 点击系统盘右键 - 选择属性然后就会弹出磁盘清理对话框,点击磁盘清理,然后等待扫描完毕后选择要清理的文件,点击确定就会自动清理垃圾了。(磁盘清理时最好少开一些应用程度这样可以清理的更干净)第二种:批处理清理垃圾(一键清理系统垃圾文件) ...

win10自动清理垃圾文件、磁盘、内存的方法
del\/f\/s\/q%userprofile%\\LocalSettings\\Temp\\.del\/f\/s\/q%userprofile%\\recent\\.echo清除系统LJ完成!echo.pause】中括弧里面的,不要带中括弧。4、然后保存文件,修改文件名的后缀为“bat”,然后蹦出提示框,点击“是”,就把清理垃圾的批处理文件,建立好了;5、鼠标左键,...

win10怎样清理系统垃圾
1,打开此电脑,在系统盘盘符上单击右键,选择“属性”。2,在属性界面“常规”选卡中,单击“磁盘清理”。3,等待磁盘清理工具搜索磁盘中可以清理的文件。4,在磁盘清理界面,勾选需要清理的项目,点击“清理系统文件”。5,然后点击确定,在弹出的“磁盘清理”点击“删除文件”即可。

如何清理手机内存垃圾
若使用的是vivo手机,可参考以下清理内存的方法:一、清理存储空间的方法 1、进入i管家--空间清理,清理垃圾缓存;2、进入文件管理中删除不需要的文件(安装包、视频、压缩包等);3、进入设置--应用与权限\/更多设置--应用管理--找到对应的软件--存储--清除缓存;注:进行删除文件、软件、清除所有数据...

怎样清理电脑系统垃圾
1,打开此电中衡脑,在系统盘盘符上单击右键,选择“属性”。2,腔行在属性界面“常规”选卡中,单击“磁盘清启弊理”。3,等待卖圆做磁盘清理坦友工具搜索磁盘中可以清理的文件。4,在磁盘清理界面,勾选需要清理的项目,点击“清理系统文件”。5,然后点击确定,在弹出的“磁盘清理”点击悄信族“...

一键清理垃圾bat(简化电脑清理流程,提升系统效能)
echo浏览器缓存已清理完成。echo.::清理系统日志 echo正在清理系统日志,请稍候...echo.wevtutil.execlApplication wevtutil.execlSecurity wevtutil.execlSetup wevtutil.execlSystem echo系统日志已清理完成。echo.echo垃圾文件清理完成!pause ```在这个示例中,我们使用了一些常见的清理命令,如删除临时文件、...

桓台县15772236255: 一键清理系统垃圾文件.bat 的原理 -
大叔饱丹参: 以以下几条语句为例 del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\recycled\*.* del /f /s /q %windir%\*.bak rd /s /q %windir%\temp & md %windir%\temp del是删除文件的命令,/f是强制删除只读属性的文件 /s 删除子目录下的相应文件 ...

桓台县15772236255: 几个电脑系统优化清除垃圾bat命令介绍 -
大叔饱丹参: 一.清理垃圾 在电脑屏幕的左下角按“开始→程序→附件→记事本”,把下面的文字复制进去(黑色部分),点“另存为”,路径选“桌面”,保存类型为“所有文件”,文件名为“清来除系统LJ.bat”,就完成了.记住后缀名一定要是.bat,ok!...

桓台县15772236255: 电脑一键清理系统垃圾的代码是什么啊?怎么弄???? -
大叔饱丹参: 很高兴为你解答,好就采纳.在电脑屏幕的左下角按“开始→程序→附件→记事本”,把下面的文字复制进去(黑色部分),点“另存为”,路径选“桌面”,保存类型为“所有文件”,文件名为“清除系统LJ.bat”,就完成了.记住后缀名一...

桓台县15772236255: 一键清楚系统垃圾文件的bat 如何制作
大叔饱丹参: 将以下代码复制到记事本,另存为 一键清除系统垃圾文件.bat 即可 @echo off echo 正在清理系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %systemdrive%\*.log del /f /s /q %systemdrive%\*....

桓台县15772236255: 一键清楚系统垃圾文件的bat 如何制作.
大叔饱丹参: 在桌面上点鼠标右键,选择新建一个“记事本”,把下面的字复制进去,点“另存为”,把文件名定为“清除系统LJ.bat”就完成,记住后缀名一定要是.bat,好ok了!你的垃圾清除器就这样制作成功了!双击它就能很快地清理垃圾文件,大约...

桓台县15772236255: 怎样在桌面建一个一键清理系统垃圾的快捷方式 -
大叔饱丹参: 在电脑屏幕的左下角按“开始→程序→附件→记事本”,把下面的文字复制进去(黑色部分),点“另存为”,路径选“桌面”,保存类型为“所有文件”,文件名为“清除系统LJ.bat”,就完成了.记住后缀名一定要是.bat 你的垃圾清除器就...

桓台县15772236255: 一键清理系统垃圾怎么弄? -
大叔饱丹参: 你复制的是什么文件呢?要是“正被另一个程序使用”的话,那你就在你刚开机的时候,什么都没有用的情况下再清理撒,我给你个程序,还蛮好用的. 先把它复制到你的笔记本中,再保存.设置文件名“清理垃圾系统.bat."记住要设置为bat...

桓台县15772236255: 什么是系统垃圾?如何使用bat程序制作一键清理系统垃圾工具 -
大叔饱丹参: 你好,系统垃圾文件包括系统安装或者是安装程序的时候产生临时文件(如:*.tmp、*._mp)、临时帮助文件(*.gid)、磁盘检查文件(*.chk)、临时备份文件(如:*.old、*.bak)以及其他临时文件.特别是如果一段时间不清理IE的临时文件夹...

桓台县15772236255: 如何一键清理系统垃圾文件.bat? -
大叔饱丹参: 对于现在清理系统垃圾文件的软件越来越多,而且都是需要从网上下载,安装.这样一系列的过程总是很麻烦,今天小编要教大家的就是利用简单的方法来清理系统的垃圾文件. 在“桌面”上新建一个“记事本”,然后我们打开记事本,在记...

桓台县15772236255: 一键清理垃圾bat -
大叔饱丹参: @echo off color 1efor /r c:\ %%a in (*.tmp *.chk *.gid *._mp *.old) do del /f /s /q "%%a" pause

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网