无忧启动论坛

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

求助 请高手帮忙优化这个批处理 [已解决]

[复制链接]
跳转到指定楼层
1#
发表于 2009-6-9 19:47:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
@echo off
rd /s /q "C:\WINDOWS\vod_cache_data\"
rd /s /q "C:\Documents and Settings\All Users\Application Data\vod_cache_data\"
rd /s /q "C:\Program Files\vod_cache_data\"
rd /s /q "C:\WINDOWS\gvod_cache_data\"
rd /s /q "C:\Documents and Settings\All Users\Application Data\gvod_cache_data\"
rd /s /q "C:\Program Files\gvod_cache_data\"
rd /s /q "C:\WINDOWS\thunder_vod_cache\"
rd /s /q "C:\Documents and Settings\All Users\Application Data\thunder_vod_cache\"
rd /s /q "C:\Program Files\thunder_vod_cache\"
for %%a 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 (rd /s /q %%a:\vod_cache_data\)
for %%a 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 (rd /s /q %%a:\gvod_cache_data\)
for %%a 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 (rd /s /q %%a:\thunder_vod_cache\)
echo.
echo 清理系统垃圾完成!
echo. & pause

这是迅雷看看留下的文件夹,每次看完后都留下一大堆垃圾文件。
我的目的很简单,就是用批处理搜索硬盘所有目录中包含   vod_cache  字符的目录名,然后强制删除
因为迅雷看看每安装一次,那个目录名都不同,但都包含   vod_cache  字符,所以能不能使用通配符来搜索目录?

有劳各位朋友帮忙写一个批处理

[ 本帖最后由 七仙花 于 2009-6-10 13:07 编辑 ]
2#
发表于 2009-6-9 21:29:13 | 只看该作者
  1. @echo off
  2. del c:\list.txt
  3. set drv=c d e f g h i j k l m n o p q r s t u v w x y z
  4.   for %%a in (%drv%) do (
  5.       for /f "delims=*" %%i in ('dir/ad/b/s %%a:\*od_cache_data*') do echo %%i>>c:\list.txt
  6.             )>nul 2>nul
  7. explorer c:\list.txt
  8. pause
复制代码

先试试看list出来的目录能否符合要求,如果符合要求再把echo 替换成RD /s/q

  1. @echo off
  2. set drv=c d e f g h i j k l m n o p q r s t u v w x y z
  3. for %%a in (%drv%) do (
  4.      for /f "delims=*" %%i in ('dir/ad/b/s %%a:\*od_cache_data*') do rd /s/q %%i
  5.               )>nul 2>nul
  6. pause
复制代码


[ 本帖最后由 haiou327 于 2009-6-9 21:59 编辑 ]
回复

使用道具 举报

3#
 楼主| 发表于 2009-6-10 13:04:51 | 只看该作者
谢谢超版,已测试过了,不过有一句得修改一下

for /f "delims=*" %%i in ('dir/ad/b/s %%a:\*od_cache_data*') do rd /s/q %%i

就是蓝色部分,那个目录名改成 *vod_cache*  这样就能搜索到所要求的目录,

rd /s/q %%i  这句要改成 rd /s/q %%i”    加上一个双引号,就能把下面这些带空格的路径名下的目录删除了。

c:\Documents and Settings\Administrator\Application Data\gvod_cache_data
c:\Documents and Settings\Administrator\Application Data\thunder_vod_cache
c:\Documents and Settings\Administrator\Application Data\vod_cache_data
c:\Documents and Settings\All Users\Application Data\gvod_cache_data
c:\Documents and Settings\All Users\Application Data\thunder_vod_cache
c:\Documents and Settings\All Users\Application Data\vod_cache_data
c:\Program Files\gvod_cache_data
c:\Program Files\thunder_vod_cache
c:\Program Files\vod_cache_data


修改后的批处理如下:

@echo off
set drv=c d e f g h i j k l m n o p q r s t u v w x y z
for %%a in (%drv%) do (
     for /f "delims=*" %%i in ('dir/ad/b/s %%a:\*vod_cache*') do rd /s/q "%%i"
              )>nul 2>nul
pause

回复

使用道具 举报

4#
发表于 2009-6-10 15:59:27 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

5#
 楼主| 发表于 2009-6-10 17:07:10 | 只看该作者
如果这样做,要占用很大一部分内存,速度肯定会慢
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-14 09:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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