标题: 计算机垃圾清理助手
[打印本页]
作者: Mekinery
时间: 2007-1-20 00:34
标题: 计算机垃圾清理助手
在论坛谁花了些时间看了些贴,搜索了些资料,于是开始写这个代码,嘿嘿刚学不久,好多都不懂,没有办法,有些都是借鉴论坛能人代码加以模仿其功能,在测试过程中也碰到不少难题(对于我这个菜鸟来说),所以代码有点冗余和bug.还有些垃圾文件不能清除的问题:如:
%userprofile%"\Local Settings\History\ 下的所有文件以及回收站里面的文件(试过可以但是桌面回收站图标却还是有文件,打开是空的!所以没有把这段代码加上去),希望大家能够解决这个问题,thank!
所谓编程之道就是以最精简的代码实现强大的功能,这个目标现在对于我来说是蛮遥远......
希望论坛能人能人能够指正其中不足和错误之处,当然数据库可能有错误和不足之处,也希望大家矫正和添加,谢谢!!!
由于我的IE可能有问题所以代码段只能这么写,如果可以的话请斑竹改过来,谢谢.
code:
@echo off
@color 2e
@title 计算机清洁助手 2007 v1.0 BY Celinkot
@cls
@echo ================================================================================
@echo {※※※(⊙﹏⊙)※※※(⊙﹏⊙)※※※H(⊙﹏⊙)N※※※(⊙﹏⊙)※※※(⊙﹏⊙)※※※}
@echo ================================================================================
@echo ╔+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++╗
@echo ┆ 本软件由“思灵科特”制作,使用前请杀毒! ┆
@echo ┆ ┆
@echo ┆ 如不满意请及时删除. ┆
@echo ┆ ┆
@echo ┆ ♂Celinkot♂ ┆
@echo ┆ ┆
@echo ┆ QQ:523963001 ┆
@echo ┆ ┆
@echo ┆ @:huseyzhncn ┆
@echo ╚+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++╝
@echo.
@echo §﹌﹌﹌﹌﹌﹌﹌ Hope everyone have a happy life in the world ! ﹌﹌﹌﹌﹌﹌﹌§
@echo.
@echo 此软件暂实用于Windows XP,其他系统请自行测试!
@echo.
@echo 进行垃圾清理会占用一定的内存和CPU,CPU使用率可能达到100%
@echo.
@echo 请关闭一些正在使用的程序!
@echo.
@echo ******************************* 请按任意键开始! ******************************
@echo.
@pause>nul
@if not exist slkt.ini goto cw
@if not exist %systemroot%\system32\slkt.ini goto fz
@:fz
@copy slkt.ini %systemroot%\system32\
@goto xuanze
@:cw
@cls
@echo 错误!!!数据库文件 slkt.ini 没有找到!
@pause
@goto kl
@:xuanze
@cls
@set /p slkt= 继续/退出 ( Y / N )
@if %slkt%==Y goto kaishi
@if %slkt%==N goto jieshu
@echo 错误!!! 请注意大小写,键值是否存在......&pause
@goto xuanze
@cls
@:kaishi
@cls
@color 3A
@echo ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
@echo ┃ 操作说明 ┃
@echo ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
@echo ┃ 全盘清理请按: AP ┃
@echo ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
@echo ┃ 清理C盘请按: C 清理D盘请按: D ┃
@echo ┃ 清理E盘请按: E 清理F盘请按: F ┃
@echo ┃ 清理G盘请按: G 清理H盘请按: H ┃
@echo ┃ 清理I盘请按: I 清理J盘请按: J ┃
@echo ┃ 清理K盘请按: K 清理L盘请按: L ┃
@echo ┃ 清理M盘请按: M 清理N盘请按: N ┃
@echo ┃ 清理O盘请按: O 清理P盘请按: P ┃
@echo ┃ 清理Q盘请按: Q 清理R盘请按: R ┃
@echo ┃ 清理S盘请按: S 清理T盘请按: T ┃
@echo ┃ 清理U盘请按: U 清理V盘请按: V ┃
@echo ┃ 清理W盘请按: W 清理X盘请按: X ┃
@echo ┃ 清理Y盘请按: Y 清理Z盘请按: Z ┃
@echo ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
@echo ┃ 退出请按: QT ┃
@echo ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
@echo ┃ 中途终止程序请按: Ctrl+C ┃
@echo ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
@set /p clkt= [请输入您的选择:]
@if "%clkt%"=="C" goto qc
@if "%clkt%"=="D" goto qd
@if "%clkt%"=="E" goto qe
@if "%clkt%"=="F" goto qf
@if "%clkt%"=="G" goto qg
@if "%clkt%"=="H" goto qh
@if "%clkt%"=="I" goto qi
@if "%clkt%"=="J" goto qj
@if "%clkt%"=="K" goto qk
@if "%clkt%"=="L" goto ql
@if "%clkt%"=="M" goto qm
@if "%clkt%"=="N" goto qn
@if "%clkt%"=="O" goto qo
@if "%clkt%"=="P" goto qp
@if "%clkt%"=="Q" goto qq
@if "%clkt%"=="R" goto qr
@if "%clkt%"=="S" goto qs
@if "%clkt%"=="T" goto qt
@if "%clkt%"=="U" goto qu
@if "%clkt%"=="V" goto qv
@if "%clkt%"=="W" goto qw
@if "%clkt%"=="X" goto qx
@if "%clkt%"=="Y" goto qy
@if "%clkt%"=="Z" goto qz
@if "%clkt%"=="AP" goto ap
@if "%clkt%"=="QT" goto end
@echo 错误!!! 请注意大小写,键值是否存在...&pause
@cls
@goto kaishi
@:qc
@goto clkt4
@:qd
@goto clkt4
@:qe
@goto clkt4
@:qf
@goto clkt4
@:qg
@goto clkt4
@:qh
@goto clkt4
@:qi
@goto clkt4
@:qj
@goto clkt4
@:qk
@goto clkt4
@:ql
@goto clkt4
@:qm
@goto clkt4
@:qn
@goto clkt4
@:qo
@goto clkt4
@:qp
@goto clkt4
@:qq
@goto clkt4
@:qr
@goto clkt4
@:qs
@goto clkt4
@:qt
@goto clkt4
@:qu
@goto clkt4
@:qv
@goto clkt4
@:qw
@goto clkt4
@:qx
@goto clkt4
@:qy
@goto clkt4
@:qz
@goto clkt4
@:clkt1
@cls
@%clkt%:
@cd /
@echo 您选择的是%clkt%盘
@if /i %clkt%: equ %systemdrive% goto clkt2
@goto clkt3
@:clkt2
@echo 此盘是系统盘&pause
@goto clkt9
@:clkt3
@echo 此盘不是系统盘&pause
@goto clkt6
@:clkt4
@if /i exist %clkt%:\nul goto :clkt1
@echo 此不盘存在&pause
@goto kaishi
@:clkt9
@del /f /s /q "%userprofile%\Local Settings\Temp\*.*" 2>nul 3>nul
@del /f /s /q "%userprofile%\recent\*.*" 2>nul 3>nul
@del /f /s /q "%userprofile%\Local Settings\Tempor~1\*.*" 2>nul 3>nul
@if not exist %SystemRoot%\Minidump\NUL del /f /q /s %SystemRoot%\Minidump\*.* 2>nul 3>nul
@del /f /s /q "%allusersprofile%\Documents\DrWatson\*.*" 2>nul 3>nul
@del /f /s /q "%userprofile%\Application Data\Microsoft\Office\Recent\*.lnk" 2>nul 3>nul
@HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU /va /f>nul 2>nul
@taskkill /im explorer.exe /f > nul
@del /s /f /a /q "%userprofile%"\Local Settings\History\*.*" 2>nul 3>nul
@del /f /s /q "%userprofile%\cookies\*.*" 2>nul 3>nul
@start "" explorer.exe
@:clkt6
@cls
@%clkt%:
@cd /
@echo 正在搜索%clkt%盘垃圾文件,请等待……
@for /f %%i in (%systemroot%\system32\slkt.ini) do del /s /f /q %%i 2>nul
@echo 完毕!!!
@echo. & pause
@cls
@goto kaishi
@:clkt5
@del /f /s /q "%userprofile%\Local Settings\Temp\*.*" 2>nul 3>nul
@del /f /s /q "%userprofile%\recent\*.*" 2>nul 3>nul
@del /f /s /q "%userprofile%\Local Settings\Tempor~1\*.*" 2>nul 3>nul
@if not exist %SystemRoot%\Minidump\NUL del /f /q /s %SystemRoot%\Minidump\*.* 2>nul 3>nul
@del /f /s /q "%allusersprofile%\Documents\DrWatson\*.*" 2>nul 3>nul
@del /f /s /q "%userprofile%\Application Data\Microsoft\Office\Recent\*.lnk" 2>nul 3>nul
@HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU /va /f>nul 2>nul
@taskkill /im explorer.exe /f > nul
@del /s /f /a /q "%userprofile%"\Local Settings\History\*.*" 2>nul 3>nul
@del /f /s /q "%userprofile%\cookies\*.*" 2>nul 3>nul
@start "" explorer.exe
goto :eof
@:clkt7
@cls
@%clkts%:
@cd /
@echo 正在搜索%clkts%盘垃圾文件,请等待……
@for /f %%i in (%systemroot%\system32\slkt.ini) do del /s /f /q %%i 2>nul
@echo 完毕!!!
@echo. & pause
@cls
@goto eof
@:ap
@for %%p in (c d e f g h i j k l m n o p q r s t u v w x y z) do set clkts=%%p&call :clkt8
@echo 清理完成!!!
@echo. & pause
@goto kaishi
@:sjk
@if /i %clkts%: equ %systemdrive% call :clkt5
@goto :clkt7
@:clkt8
@if /i exist %clkts%:\nul goto sjk
@echo 此不盘存在
@goto :eof
@:end
@exist
@:kl
@del %0
[
Last edited by Mekinery on 2007-1-19 at 12:10 PM ]
附件
1: clkt.rar (2007-1-20 01:09, 2.4 K, 下载附件所需积分 1点
,下载次数: 184)
作者: Pando
时间: 2007-1-20 00:58
纯支持楼主,但还是感觉小题大做了
其实只有系统盘有必要清理垃圾:
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
其他盘根本没必要的哈!
[
Last edited by Pando on 2007-1-20 at 01:15 AM ]
作者: 9527
时间: 2007-1-20 01:15
唉,纯体力活儿.......
作者: Mekinery
时间: 2007-1-20 01:32
也不完全这么说啊,除了系统盘外,其他软件生成的垃圾就有点难说了吧
这个虽然有点吓人,但是功能应该不会太差吧?
里面还有改进的地方,凭我现在的能力还 不行,还请大家指正并写出精简的代码吧,在此谢谢了!
作者: electronixtar
时间: 2007-1-20 01:34
Ctrl+V出来滴
作者: Mekinery
时间: 2007-1-20 01:42
electronixtar说的差不多吧,的确是类似,其实每个人所学的东西都是“Ctrl+V出来滴”只是表现形式不同而已吧?
因为我觉的每个人都是从不会到会,精通了而加以转变灵活运用而已
真正凭借自己想出“不存在”的东西太少,毕竟像爱因斯坦这样的人太少了......
----个人观点
大家觉的是不是呢?
[
Last edited by Mekinery on 2007-1-19 at 12:45 PM ]
作者: zhct
时间: 2007-1-20 02:41
同意楼上观点!
不学习怎么进步?临摹是学习的捷径!!
作者: electronixtar
时间: 2007-1-20 02:43
还是支持下,呵呵~~~
作者: zch1366
时间: 2007-1-20 12:26
不错,好东西!
作者: hsting
时间: 2007-1-23 08:02
不错,值得学习
作者: htysm
时间: 2007-1-25 05:46
这个代码写得就象是个八旬的老太婆,真佩服楼主的精神。
作者: cxq5173
时间: 2007-3-18 08:14
支持了
看不懂
作者: Jneny
时间: 2007-3-18 08:26
精神值得 严重支持~~
作者: zzttff
时间: 2007-3-19 11:04
谢楼主与大家共享
作者: zykoo
时间: 2007-4-6 06:22
学习一下,多谢分享
作者: airosp
时间: 2007-4-6 06:27
楼主纯体力活……那些代码,大部分可以改为自动化的……
作者: flyinspace
时间: 2007-4-6 06:36
我寒。。
不值得为这个写精简的代码。
真的是纯体力活。。
至于大小写的问题。
楼主,给你一个参数。
if /i
这个可以忽略大小写的。
作者: flyinspace
时间: 2007-4-6 06:42
更搞不懂你加那么多@做什么。
第一句话就关闭了回显了。
累不累?
@del /f /s /q "%userprofile%\Local Settings\Temp\*.*" 2>nul 3>nul
@del /f /s /q "%userprofile%\recent\*.*" 2>nul 3>nul
@del /f /s /q "%userprofile%\Local Settings\Tempor~1\*.*" 2>nul 3>nul
@if not exist %SystemRoot%\Minidump\NUL del /f /q /s %SystemRoot%\Minidump\*.* 2>nul 3>nul
@del /f /s /q "%allusersprofile%\Documents\DrWatson\*.*" 2>nul 3>nul
@del /f /s /q "%userprofile%\Application Data\Microsoft\Office\Recent\*.lnk" 2>nul 3>nul
@HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU /va /f>nul 2>nul
@taskkill /im explorer.exe /f > nul
@del /s /f /a /q "%userprofile%"\Local Settings\History\*.*" 2>nul 3>nul
@del /f /s /q "%userprofile%\cookies\*.*" 2>nul 3>nul
@start "" explorer.exe
这里?如果有人把一些设置更改了怎么办?
结果是:你会误删所有的文件。
1,不安全的命令。
2,写了许多废话。
3,清理的东西不够简洁实用。
作者: airosp
时间: 2007-4-7 11:15
另外那么多nul完全是多此一举,会让用户看不到自己删除了什么东西~
作者: qingfushuan
时间: 2007-4-7 11:28
标题: 插一句
浓缩的肯定是精华,但是PF LZ的ctrl+Vde 精神,但仅仅PF
作者: piaoye0605
时间: 2007-4-7 21:11
对楼主的耐心表示敬佩!!!支持下
作者: Mxark
时间: 2007-4-8 03:09
最近没有时间,等有时间了优化下
上传个更好好的
呵呵~~
作者: shikx2008
时间: 2007-4-8 05:24
厉害我做不到 还在学习呢?顶
作者: applehdh
时间: 2007-4-8 09:14
呵呵,谢谢了
很好的思路,Winodws优化大师下岗了
作者: 9tiansj
时间: 2007-4-28 10:20
不错,值得学习
作者: yxzpt
时间: 2007-4-28 23:09
主要还是系统盘
作者: zrw1846
时间: 2007-4-28 23:18
学习
作者: gdygood
时间: 2007-7-12 23:54
学习了,有学才有进步嘛
作者: luowei14
时间: 2007-7-13 11:35
学习了。。有点累赘。。清理垃圾完全可以自动化
作者: qingfushuan
时间: 2007-7-13 12:17
临摹是学习的第一步,变化才是关键,PF LZ的精神,我一直都是从每个收集的cmd中
Ctrl+V一点点,就是我完成的cmd了,再支持了
作者: qpmgljf
时间: 2007-7-14 10:25
严重支持,我自己也在别人的基础上加强了一下,请各位指点。。
@echo off
SET TT=一键清理系统垃圾文件
mode con: cols=70 lines=20
color 1f
TITLE %TT%------剑锋制作︻$▅▆▇◤
echo.
echo 请按任意键开始清理系统一般垃圾文件!
pause>nul
echo.
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 Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo.
echo.
echo 清理一般系统垃圾完成!
echo.
echo.
:xuanze
echo.
SET Choice=
SET /P Choice= 要退出程序按q,要继续加强清理按c:
IF NOT '%Choice%'=='' SET Choice1=%Choice:~0,1%
IF /I '%Choice%'=='q' goto end
IF /I '%Choice%'=='c' goto next
cls
goto xuanze
:next
cls
echo.
echo.
echo 提示:加强清理用于清理安装系统后的残留垃圾
echo 建议在备份系统前使用加强清理!
echo 清理之前请将补丁安装完毕!
echo.
echo 请按任意键加强清理,想退出可直接关闭本窗口!
pause>nul
echo.
rd /s /q "c:\program files\messenger"
del /f /s /q "c:\program files\msn gaming zone\*.*"
rd /s /q "c:\program files\msn gaming zone"
del /f /s /q "c:\Program Files\InstallShield Installation Information\*.*"
for /f "delims=" %%a in ('dir /ad %windir%\$NtUninstallKB* /b') do rd /s /q %windir%\%%a
del /f /s /q %windir%\$hf_mig$\*.*
del /f /s /q "%windir%\RegisteredPakages\*.*"
del /f /s /q "%windir%\Downloaded Installations\*.*"
del /f /s /q "%windir%\web\wallpaper\肖像*.*"
:end
echo.
echo.
ECHO ╭══════════════╮
ECHO ╭═══┤ ★劍鋒製作★ ├═══╮
ECHO ║ ╰══════════════╯ ║
ECHO ║┏━┳━┳━┳━┓ ║
ECHO ║┣┳┻┳┻┳┻┳┫ QQ:61813046 ║
ECHO ║┣┻┳╋━╋┳┻┫ ║
ECHO ║┣┳┻┫卐┣┻┳┫ Email:qpmgljf@163.com ║
ECHO ║┣┻┳┻┳┻┳┻┫ ║
ECHO ║┣┳┻┳┻┳┻┳┫ ║
ECHO ║┗┻━┻━┻━┻┛ ║
ECHO ║ ║
ECHO ║ ▉▉▉▉▉▉▉▉100%%▉▉▉▉▉▉▉▉▉ ║
ECHO ╰══════════════════════╯
echo.
echo 清理完毕!
echo.
echo 请按任意键结束本程序,谢谢您的使用!
pause>nul
作者: bj1912
时间: 2007-8-5 12:54
支持一下
就是太多了`~~
作者: ahllahll
时间: 2007-8-5 22:16
不太懂 直接调用WINDOWS的磁盘LAJI清理工具会好多吧
作者: tianya921
时间: 2007-8-6 13:24
看看了,就是怎么还要个文件了
作者: hy55310
时间: 2007-8-8 22:53
同意楼上观点!
不学习怎么进步?临摹是学习的捷径!!精神值得 支持
作者: sxs88
时间: 2007-8-10 22:22
太烦琐 还是用鼠标到文件夹下删除吧
作者: gebihanfei
时间: 2007-9-26 08:12
我要试试看
作者: dosmania
时间: 2007-9-26 14:10
haha,N 惨``做苦力活还被人鄙视没技术含量,哈哈```唉
作者: xinhepc
时间: 2007-9-26 16:05
我不喜欢自己编这些清除的东西,我技术也没那么高~正如楼上所说,这么我的@, 而楼主又在开头加了@ ECHO OFF,我真搞不懂楼主知不知道@的作用是什么?还有那么多的>NUL,这样一来用户就真的看不到自己删除了什么垃圾文件了~~编清理系统的BAT想明白点就是删除无用文件,我觉得只要做到把无用文件删除就行了,搞得那么花,比做广告还烦~~还是直接DEL /Y /Q文件夹里的东西方便~~
作者: chinashuang
时间: 2007-10-17 23:55
标题: 学习一下,多谢分享
学习一下,多谢分享
作者: chinashuang
时间: 2007-10-17 23:55
学习一下,多谢分享
作者: yezhiyi1017
时间: 2007-10-29 18:01
支持,谢谢 !
作者: INeverAsk
时间: 2007-12-26 10:44
根本不象代码那样唬人,我试过连IE临时文件夹下的文件也清除不了
作者: nanhui112
时间: 2007-12-26 13:52
呵呵 , 向你的精神我学习拉 希望以后可以写出好的代码 ^_^
作者: yanxinyi
时间: 2007-12-26 21:02
标题: 呵呵
有意思啊。至少有在可以在电脑盲面前显耀一下。:P
作者: 530125484
时间: 2007-12-28 08:27
不错的东西好用
作者: gsong
时间: 2008-1-31 16:14
多谢分享
作者: annugu
时间: 2008-3-28 18:25
学习一下,多谢分享
作者: annugu
时间: 2008-3-28 18:33
bu cuo o
作者: xinsuo100
时间: 2008-5-2 18:51
谢谢楼主
收下了
作者: netkey
时间: 2008-5-17 17:52
标题: 好东东
好东东好东东
作者: 5872169
时间: 2008-5-24 10:46
楼主你累了吗,感觉你好累啊,写了这么长的代码,本来简单的几个命令就行,非写这么长干什么?
作者: guilinljd
时间: 2008-5-30 00:21
标题: 路过
看一下好东西
作者: guilinljd
时间: 2008-5-30 00:24
标题: 用过
真的很好
作者: 5872169
时间: 2008-5-30 09:03
楼主你累了吗,感觉你太累了,你太有时间了,就这几条命令,搞的这么复杂干什么?
作者: cad55
时间: 2008-5-30 09:43
楼主呀
像小学生作文.........
作者: 56505673
时间: 2008-9-5 22:34
学习一下,多谢分享
作者: doschinano1
时间: 2008-9-26 05:33
标题: 谢谢了
不过有点小错误
作者: haolongo
时间: 2008-9-26 14:36
学习一下,多谢分享
作者: zgdoslmtm
时间: 2008-9-26 17:21
搂住我顶你了。真是辛苦啊。
作者: cleft
时间: 2008-9-30 02:18
学习一下,多谢分享