中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-15 13:28
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行
DOS批处理 & 脚本技术(批处理室) » 计算机垃圾清理助手
可打印版本  10,819 / 60
第1楼 Mekinery 发表于 2007-01-20 00:34
初级用户 发帖 32 积分 83
计算机垃圾清理助手
在论坛谁花了些时间看了些贴,搜索了些资料,于是开始写这个代码,嘿嘿刚学不久,好多都不懂,没有办法,有些都是借鉴论坛能人代码加以模仿其功能,在测试过程中也碰到不少难题(对于我这个菜鸟来说),所以代码有点冗余和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 ]

附件
clkt.rar (2.4 KiB)
第2楼 Pando 发表于 2007-01-20 00:58
新手上路 发帖 1 积分 2
纯支持楼主,但还是感觉小题大做了

其实只有系统盘有必要清理垃圾:
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 ]
第3楼 9527 发表于 2007-01-20 01:15
银牌会员 发帖 438 积分 1,185 来自 北京
唉,纯体力活儿.......
第4楼 Mekinery 发表于 2007-01-20 01:32
初级用户 发帖 32 积分 83
也不完全这么说啊,除了系统盘外,其他软件生成的垃圾就有点难说了吧
这个虽然有点吓人,但是功能应该不会太差吧?
里面还有改进的地方,凭我现在的能力还 不行,还请大家指正并写出精简的代码吧,在此谢谢了!
第5楼 electronixtar 发表于 2007-01-20 01:34
铂金会员 发帖 2,672 积分 7,493
Ctrl+V出来滴
第6楼 Mekinery 发表于 2007-01-20 01:42
初级用户 发帖 32 积分 83
electronixtar说的差不多吧,的确是类似,其实每个人所学的东西都是“Ctrl+V出来滴”只是表现形式不同而已吧?
因为我觉的每个人都是从不会到会,精通了而加以转变灵活运用而已
真正凭借自己想出“不存在”的东西太少,毕竟像爱因斯坦这样的人太少了......
----个人观点
大家觉的是不是呢?

[ Last edited by Mekinery on 2007-1-19 at 12:45 PM ]
第7楼 zhct 发表于 2007-01-20 02:41
初级用户 发帖 25 积分 49
同意楼上观点!
不学习怎么进步?临摹是学习的捷径!!
第8楼 electronixtar 发表于 2007-01-20 02:43
铂金会员 发帖 2,672 积分 7,493
还是支持下,呵呵~~~
第9楼 zch1366 发表于 2007-01-20 12:26
中级用户 发帖 148 积分 326
不错,好东西!
第10楼 hsting 发表于 2007-01-23 08:02
初级用户 发帖 26 积分 63
不错,值得学习
第11楼 htysm 发表于 2007-01-25 05:46
高级用户 发帖 415 积分 866
这个代码写得就象是个八旬的老太婆,真佩服楼主的精神。
第12楼 cxq5173 发表于 2007-03-18 08:14
初级用户 发帖 10 积分 23
支持了
看不懂
第13楼 Jneny 发表于 2007-03-18 08:26
高级用户 发帖 318 积分 686
精神值得 严重支持~~
第14楼 zzttff 发表于 2007-03-19 11:04
新手上路 发帖 3 积分 5
谢楼主与大家共享
第15楼 zykoo 发表于 2007-04-06 06:22
新手上路 发帖 2 积分 4
学习一下,多谢分享
1 2 3 45  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023