无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 8847|回复: 24
打印 上一主题 下一主题

改进的一键垃圾清理

[复制链接]
跳转到指定楼层
1#
发表于 2008-10-1 14:07:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
2008.10.3

@echo off
echo 正在清理系统垃圾文件,请稍等......
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache > %Temp%\cache.txt
for /f "skip=2 tokens=1,2*" %%i in ('find /i "cache" %Temp%\cache.txt') do (del /f /s /q "%%k")
del /f /q  "%userprofile%\recent\*.*"
del /f /s /q /a "%systemdrive%\recycled\*.*"
del /f /s /q /a "%systemdrive%\RECYCLER\*.*"
del /f /q %windir%\prefetch\*.*
rd /s /q %Temp% & md %temp%
rd /s /q %Tmp% & md %tmp%
rd /s /q %windir%\temp & md %windir%\temp
echo 清理系统垃圾完成
pause

这下应该可以适用XP和2003了
2000没测试。。。
有问题的
请帮忙测试下
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache | find /i "cache" > d:\1.txt

在CMD里运行这个命令
并把1.txt上传上来
请大家帮忙测试下  请顺便告诉下是SP2? 还是SP3



2008.10.2

@echo off
echo 正在清理系统垃圾文件,请稍等......
for /f "skip=4 tokens=1,2*" %%i in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache') do (rd /s /q "%%k" & md "%%k")
del /f /q  "%userprofile%\recent\*.*"
del /f /s /q /a "%systemdrive%\recycled\*.*"
del /f /s /q /a "%systemdrive%\RECYCLER\*.*"
del /f /q %windir%\prefetch\*.*
rd /s /q %Temp% & md %temp%
rd /s /q %Tmp% & md %tmp%
rd /s /q %windir%\temp & md %windir%\temp
echo 清理系统垃圾完成
pause

一句for搞定清理IE缓存
XP下用skip=4
2003下用skip=2

2008.10.2

@echo off
echo 正在清理系统垃圾文件,请稍等......
set tar=REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache
for /f "skip=2 tokens=1,2*" %%i in ('%tar%') do (set ie=%%k)
rd /s /q "%ie%" & md "%ie%"
del /f /q  "%userprofile%\recent\*.*"
del /f /s /q /a "%systemdrive%\recycled\*.*"
del /f /s /q /a "%systemdrive%\RECYCLER\*.*"
del /f /q %windir%\prefetch\*.*
rd /s /q %Temp% & md %temp%
rd /s /q %Tmp% & md %tmp%
rd /s /q %windir%\temp & md %windir%\temp
echo 清理系统垃圾完成
pause

改进了一下
只需要一次for就OK。。。

2008.10.2

@echo off
echo 正在清理系统垃圾文件,请稍等......
set tar=REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache
for /f "skip=2 tokens=1,3" %%i in ('%tar%') do (set x=%%j)
for /f "delims=:\ tokens=1" %%i in ('echo %x%') do (set qqpan=%%i:)
for /f "skip=2 tokens=1,2 delims=:" %%i in ('%tar%') do (set y=%%j)
set f3="%qqpan%%y%"
rd /s /q %f3% & md %f3%
del /f /q  "%userprofile%\recent\*.*"
del /f /s /q /a "%systemdrive%\recycled\*.*"
del /f /s /q /a "%systemdrive%\RECYCLER\*.*"
del /f /q %windir%\prefetch\*.*
rd /s /q %Temp% & md %temp%
rd /s /q %Tmp% & md %tmp%
rd /s /q %windir%\temp & md %windir%\temp
echo 清理系统垃圾完成
pause

多谢wowfans的代码 我还是没做过多的判断  注意使用的时候  temp tmp IE缓存不要在根目录下
另外想问下
del /f /q %f3% 为什么没有效果?  一点反应都没有 不知道大家是什么样子的?

2008.10.1

@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%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
rd  /s /q %Temp% & md %temp%
rd  /f /s /q %Tmp% & md %tmp%
rd /s /q %windir%\temp & md %windir%\temp
del /f /s /q "%userprofile%\recent\*.*"
echo 清理系统垃圾完成!

很古老很广为流传的批处理
我只是把一些换成相对路径

只是想请教下,如何把IE缓存也换成相对路径?
当IE缓存位置更改了之后  
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
这行命令就没什么效果了。。。
不知哪位大侠指点一二

[ 本帖最后由 peter1123 于 2008-10-3 17:30 编辑 ]
2#
发表于 2008-10-1 15:27:54 | 只看该作者
当IE缓存位置更改了之后,可以从注册表中读取IE缓存位置更改。
回复

使用道具 举报

3#
发表于 2008-10-1 17:11:09 | 只看该作者
有些文件清理后系统有可能出问题,所以建议不要清理log文件。
回复

使用道具 举报

4#
 楼主| 发表于 2008-10-1 22:44:45 | 只看该作者
原帖由 lxl1638 于 2008-10-1 15:27 发表
当IE缓存位置更改了之后,可以从注册表中读取IE缓存位置更改。



额  就是不会  不知道该怎么写。。。
回复

使用道具 举报

5#
 楼主| 发表于 2008-10-1 22:45:30 | 只看该作者
原帖由 netwinxp 于 2008-10-1 17:11 发表
有些文件清理后系统有可能出问题,所以建议不要清理log文件。




这个容易
回复

使用道具 举报

6#
发表于 2008-10-2 11:19:49 | 只看该作者
这是我自己做的
你参考下吧

当变量存在于根目录时
发出警告!
因为用的是rd /s /q
也就是存在根目录下时,会删除整个分区的所有内容
同时读取注册表中的IE缓存进行删除

echo OFF
set tar=REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache
for /f "skip=3 tokens=1,3" %%i in ('%tar%') do (set x=%%j)
for /f "delims=:\ tokens=1" %%i in ('echo %x%') do set qqpan=%%i:
for /f "skip=3 tokens=1,2 delims=:" %%i in ('%tar%') do (set y=%%j)
sfc /purgecache
set f1="%temp%"
set f2="%tmp%"
set f3="%qqpan%%y%"
set f4="%windir%\temp"
set f5="%windir%\SoftwareDistribution\Download"
set f6="%windir%\ime\IMJP8_1"
set f7="%windir%\ime\IMKR6_1"

for /f "delims=: tokens=1" %%i in ('echo %temp%') do set apan=%%i:
if "%temp%"=="%apan%" echo 变量TEMP在%apan%根目录!&pause
if "%temp%"=="%apan%\" echo 变量TEMP在%apan%根目录带斜杠!&pause

for /f "delims=: tokens=1" %%i in ('echo %tmp%') do set apan=%%i:
if "%tmp%"=="%apan%" echo 变量TMP在%apan%根目录!&pause
if "%tmp%"=="%apan%\" echo 变量TMP在%apan%根目录带斜杠!&pause

for /f "delims=: tokens=1" %%i in ('echo %qqpan%%y%') do set apan=%%i:
if "%qqpan%%y%"=="%apan%" echo IE缓存在%apan%根目录!&pause
if "%qqpan%%y%"=="%apan%\" echo IE缓存在%apan%根目录带斜杠!&pause

for %%i in (%f1%,%f2%,%f3%,%f4%,%f5%,%f6%,%f7%) do (rd /s /q %%i & if not exist %%i md %%i)
回复

使用道具 举报

7#
发表于 2008-10-2 11:25:20 | 只看该作者
我只删除了一些明确没有用的文件夹中的东东

楼主最好把按扩展名删除的语句去掉
谁能保证
.chk .old .tmp .log  .bak没有用?
有的软件卸载时需要用的
例如.bak文件
当需要替换一个系统文件时
通常软件设计者会将该文件备份
而bak通常会作为软件设计者喜欢的一个备份扩展名
这样会造成卸载后的问题...
回复

使用道具 举报

8#
发表于 2008-10-2 11:27:46 | 只看该作者
要保留韩语和日语输入法的同志
将f6和f7变量在循环体内删除即可
该语句初次运行时会提示系统文件保护,正常现象
回复

使用道具 举报

9#
 楼主| 发表于 2008-10-2 13:26:18 | 只看该作者
谢谢楼上的了!~~ 嗯 的确 按扩展名的方式存在很多的问题
回复

使用道具 举报

10#
 楼主| 发表于 2008-10-2 13:27:34 | 只看该作者
原来是
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache

Shell Folders。。。。 为什么不是USER Shell Folders害我昨天晚上试了半天
回复

使用道具 举报

11#
 楼主| 发表于 2008-10-2 13:43:04 | 只看该作者
当我什么都没说。/。。

[ 本帖最后由 peter1123 于 2008-10-2 14:04 编辑 ]
回复

使用道具 举报

12#
 楼主| 发表于 2008-10-2 23:32:12 | 只看该作者
嘣噔你个嘣噔

为什么有的人执行这个命令
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache >d:\1.txt
得到的是


! REG.EXE VERSION 3.0

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
    Cache        REG_SZ        C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files


而我的没有! REG.EXE VERSION 3.0
回复

使用道具 举报

13#
 楼主| 发表于 2008-10-2 23:35:20 | 只看该作者
难道XP 就多一行?
2003 就少一行?
回复

使用道具 举报

14#
 楼主| 发表于 2008-10-2 23:38:27 | 只看该作者
不  是多2行
!!!!
回复

使用道具 举报

15#
 楼主| 发表于 2008-10-3 00:02:11 | 只看该作者
算了
洗脚睡觉
明天再加个判断吧   不知道到底是空多少行。。。

会不会还有人是3行的??

希望能有人帮忙测试下。

在命令提示符里输入下面命令
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache >d:\1.txt

把 d:\1.txt上传上来  或者直接告诉我多少行
回复

使用道具 举报

16#
发表于 2008-10-3 11:57:22 | 只看该作者
我运行
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache >d:\1.txt
得到的是
! REG.EXE VERSION 3.0
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
    Cache REG_SZ C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files

1.rar

256 Bytes, 下载次数: 86, 下载积分: 无忧币 -2

回复

使用道具 举报

17#
 楼主| 发表于 2008-10-3 12:15:41 | 只看该作者
LS的是XP系统了?
回复

使用道具 举报

18#
发表于 2008-10-3 12:31:14 | 只看该作者
xp是三行2003是两行。
回复

使用道具 举报

19#
 楼主| 发表于 2008-10-3 12:34:59 | 只看该作者
XP是什么版本?  SP2?  SP3?

3行?   怎么我找的XP都是 4行的?
3行的是什么版本的?

最好在 cmd下运行 ver   把版本号告知一下
回复

使用道具 举报

20#
 楼主| 发表于 2008-10-3 13:13:27 | 只看该作者
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache > %Temp%\cache.txt
find /i "cache" %Temp%\cache.txt >d:\1.txt

在CMD里运行这2个命令
并把1.txt上传上来
请大家帮忙测试下  XP请顺便告诉下是SP2? 还是SP3
回复

使用道具 举报

21#
 楼主| 发表于 2008-10-3 17:36:59 | 只看该作者
不知道有没办法 不生成临时的 “cache.txt”
回复

使用道具 举报

22#
发表于 2008-10-7 08:42:20 | 只看该作者
---------- C:\DOCUME~1\111\LOCALS~1\TEMP\CACHE.TXT
    Cache REG_SZ C:\Documents and Settings\111\Local Settings\Temporary Internet Fi


后面少了几个字母。

[ 本帖最后由 wangxl8088 于 2008-10-7 08:43 编辑 ]
回复

使用道具 举报

23#
发表于 2008-10-12 16:07:45 | 只看该作者
当时没想过2003的reg输出内容不一样
自己创建一个vbs就不受reg版本限制了

提取变量的批处理如下
for /f "delims=" %%a in ('cscript //nologo a.vbs') do echo %%a
pause


在该批处理相同目录
创建一个a.vbs
用来提取注册表中的变量
a.vbs内容如下
Set WshShell=CreateObject("WScript.Shell")
bKey=WshShell.regRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Cache")
WScript.Echo bKey
回复

使用道具 举报

24#
发表于 2008-10-15 09:27:58 | 只看该作者
在“Temporary Internet Files\Content.IE5\”会生成一些“文件夹”,

能不能删除“文件夹”???

另外在“Documents and Settings\Administrator\UserData\”也会生成一些“文件夹”

[ 本帖最后由 cy-hong 于 2008-10-15 09:32 编辑 ]
回复

使用道具 举报

25#
发表于 2008-10-15 09:57:04 | 只看该作者
:: 清理垃圾文件 一次/月
if exist %temp%\%date:~5,2% exit
::清理系统升级补丁留下来的反安装目录
dir %windir%\$*$ /ad/b >%temp%\tmp.txt
for /f %%a in (%temp%\tmp.txt) do rd /s /q "%windir%\%%a"
::检查当前用户 cookies、历史纪录等目录位置
reg query "HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache>%temp%\tmp.log
::reg query "HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cookies>>%temp%\tmp.log
reg query "HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v History>>%temp%\tmp.log
reg query "HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v NetHood>>%temp%\tmp.log
reg query "HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Recent>>%temp%\tmp.log
::清理Cookies、IE缓存、历史纪录等
findstr /r /v "^.*! REG.EXE VERSION 3.0.*" %temp%\tmp.log>>%temp%\tmp.txt
pause
for /f "tokens=3*" %%a in (%temp%\tmp.txt) do (
  for /d %%i in ("%%a%%b\*.*") do rd /s /q "%%i"
  del /a /f /s /q "%%a%%b\*.*")
::跟上面几项未必是重复的,清理系统目录临时文件
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"
::清理系统目录中的垃圾文件
del /a /f /s /q "%windir%\*._mp"
del /a /f /s /q "%windir%\*.bak"
del /a /f /s /q "%windir%\*.log"
del /a /f /s /q "%windir%\*.dmp"
del /a /f /s /q "%windir%\*.gid"
del /a /f /s /q "%windir%\*.old"
del /a /f /s /q "%windir%\*.query"
del /a /f /q "%windir%\*.tmp"
rd /s /q "%windir%\Downloaded Program Files"
rd /s /q "%windir%\Offline Web Pages"
rd /s /q "%windir%\Connection Wizard"
rd /s /q "%windir%\SoftwareDistribution\Download"
rd /s /q "%windir%\Assembly"
rd /s /q "%windir%\Help"
rd /s /q "%windir%\ReinstallBackups"
del /a /s /q "%windir%\inf\*.pnf"
del /a /f /s /q "%windir%\inf\InfCache.1"
dir %windir%\inf\*.* /ad/b >%temp%\tmp.txt
for /f %%a in (%temp%\tmp.txt) do rd /s /q "%windir%\inf\%%a"
del /a /f /s /q "%windir%\driver?\*.pnf"
del /a /f /s /q "%windir%\driver?\InfCache.1"
del /a /f /s /q "%SystemDrive%\driver?\*.pnf"
del /a /f /s /q "%SystemDrive%\driver?\InfCache.1"
rd /s /q "%windir%\temp" & md "%windir%\temp"
del /a /f /s /q "%windir%\Prefetch\*.*"
del /a /f /s /q "%windir%\minidump\*.*"
::清除系统分区的磁盘查错文件
del /a /f /q "%SystemDrive%\*.chk"
dir %SystemDrive%\found.??? /ad/b >%temp%\tmp.txt
for /f %%a in (%temp%\tmp.txt) do rd /s /q "%SystemDrive%\%%a"
::按默认目录视情况清除常见的软件垃圾项目
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"
::清空用户临时文件夹,标记本月已执行清除
rd /s /q %temp% & md %temp%
cd.>%x%\%date:~5,2%
start dfrg.msc
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-24 08:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表