中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-13 22:10
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何实现从注册表读取IE缓存路径并清空?
楼 主 如何实现从注册表读取IE缓存路径并清空? 发表于 2008-10-02 15:34 ·  中国 湖北 宜昌 电信
初级用户
积分 20
发帖 9
注册 2007-02-13 23:35
UID 79422
性别 男
状态 离线
REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache

我知道用这个命令读取
但如何用批处理清空?

希望哪位大侠指点一二
2 发表于 2008-10-02 16:43 ·  中国 湖北 宜昌 电信
初级用户
积分 20
发帖 9
注册 2007-02-13 23:35
UID 79422
性别 男
状态 离线
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%

感谢WOWFANS提供
rd /s /q %f3% & md %f3%
不知道为什么这句用del替换就没效果了。。。

[ Last edited by peter1123 on 2008-10-2 at 16:44 ]
3 发表于 2008-10-02 16:43 ·  中国 湖北 宜昌 电信
初级用户
积分 20
发帖 9
注册 2007-02-13 23:35
UID 79422
性别 男
状态 离线
贴个完整的

@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


注意: 别把TEMP TMP IE缓存等环境变量放在根目录下!
否则RD /S将会全部删除的


[ Last edited by peter1123 on 2008-10-2 at 16:50 ]
4 发表于 2008-10-02 23:08 ·  中国 湖北 宜昌 电信
初级用户
积分 20
发帖 9
注册 2007-02-13 23:35
UID 79422
性别 男
状态 离线
@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
5 发表于 2008-10-02 23:17 ·  中国 湖北 宜昌 电信
初级用户
积分 20
发帖 9
注册 2007-02-13 23:35
UID 79422
性别 男
状态 离线
@echo off
echo 正在清理系统垃圾文件,请稍等......
for /f "skip=2 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

再精简一下
6 发表于 2008-10-02 23:53 ·  中国 湖北 宜昌 电信
初级用户
积分 20
发帖 9
注册 2007-02-13 23:35
UID 79422
性别 男
状态 离线
@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




skip=4
这样才适合XP使用
skip=2
适合2003用

暂时测试结果是这样。。。。

[ Last edited by peter1123 on 2008-10-3 at 11:23 ]
7 发表于 2008-10-03 00:15 ·  中国 广东 广州 珠江宽频
初级用户
积分 97
发帖 40
注册 2007-11-26 13:54
UID 103810
性别 女
状态 离线
@echo off
ipconfig/release
ipconfig/renew
ipconfig /registerdns
arp -d
Nbtstat -R
Nbtstat -RR
ipconfig /flushdns
8 发表于 2008-10-03 13:57 ·  中国 湖北 宜昌 电信
初级用户
积分 20
发帖 9
注册 2007-02-13 23:35
UID 79422
性别 男
状态 离线
@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
论坛跳转: