|
lzmuhioin
初级用户
 
积分 51
发帖 24
注册 2007-9-18
状态 离线
|
『楼 主』:
[原创]批量删除QQ生成的号码文件夹(实用哦!!!!)
使用 LLM 解释/回答一下
相信大家在家里面使用QQ的时候,有时候在一台电脑上面所使用的号码太多的话,删起来还是比较麻烦的!我就经常遇到,呵呵,为了方便就写了一个批处理代码,实现批量删除QQ目录里面曾经使用过QQ的号码生成的目录,这样既保护了QQ生成文件的私密,又删除了垃圾文件,
同时还希望版主不吝赐教,好待我日加完善,满足更多的朋友使用
@echo off
setlocal enabledelayedexpansion
for /l %%i in (2,1,9) do (
dir *%%i*. /b>ReferCacheNametoDelete
for /f "tokens=* delims=" %%a in (ReferCacheNametoDelete) do (
rd "%%a" /s /q
)
)
del ReferCacheNametoDelete /f /q
|
|
2008-5-6 13:10 |
|
|
BWSkyer
中级用户
   我是DOS学者
积分 367
发帖 180
注册 2006-5-14 来自 重庆
状态 离线
|
|
2008-5-6 13:35 |
|
|
itrui
初级用户
 
积分 20
发帖 6
注册 2007-9-22
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
1.变量延迟也没用上啊
2.何必生成临时文件呢, in (set) 不是更简洁
3."tokens=* delims=" 都实现一样的功能,用一个就好了吧
4.另外还有很多其他包含数字的文件,你这样肯定会误删。
|
|
2008-5-6 14:01 |
|
|
lzmuhioin
初级用户
 
积分 51
发帖 24
注册 2007-9-18
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
这是个人使用上的一种习惯了。。。至于如何判断的
我也不知道使用dir *1*. /b就不能显示出所有带1文件夹,所以就在2到9之间开始循环*%%i*当然是为了取完2至9中间的所有数字,那么至于 dir *%%i*. 那就是显示所以中间部位是数字的文件夹.
那么rd %%a /s /q 就是第从dir中获得名单从而删其及其子文件夹
|
|
2008-5-6 14:13 |
|
|
itrui
初级用户
 
积分 20
发帖 6
注册 2007-9-22
状态 离线
|
|
2008-5-6 14:19 |
|
|
lzmuhioin
初级用户
 
积分 51
发帖 24
注册 2007-9-18
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
谢谢itrui的建议
我查看的QQ的目录其中还有3DShow 和flashshow2这两个目录,那个加两个判断就成了
@echo off
setlocal enabledelayedexpansion
for /l %%i in (2,1,9) do (
dir *%%i*. /b
dir *%%i*. /b>CacheName
for /f "tokens=* delims=" %%a in (CacheName) do (
if /i not "%%a" == "3DShow" (
if /i not "%%a" == "flashshow2" (
rd "%%a" /s /q
)
)
)
)
del CacheName /f /q
|
|
2008-5-6 14:24 |
|
|
lzmuhioin
初级用户
 
积分 51
发帖 24
注册 2007-9-18
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
Originally posted by itrui at 2008-5-6 02:19 PM:
dir *%%i*. 那就是显示所以中间部位是数字的文件夹
这句话你再好好研究研究吧
看来是我解释有误,意思为只要其文件名中只要含有数字就有算是条件合格这样,就会把3DShow和flashshow2排除掉就行了
|
|
2008-5-6 14:28 |
|
|
itrui
初级用户
 
积分 20
发帖 6
注册 2007-9-22
状态 离线
|
   『第 8 楼』:
使用 LLM 解释/回答一下
Originally posted by lzmuhioin at 2008-5-6 02:24 PM:
谢谢itrui的建议
我查看的QQ的目录其中还有3DShow 和flashshow2这两个目录,那个加两个判断就成了
@echo off
setlocal enabledelayedexpansion
for /l %%i in (2,1 ...
在我电脑里带数字的可不只这两个文件夹,你看这样写会不会更简单点。
@echo off
for /f "delims=" %%a in ('dir /ad /b^|findstr "^*$"') do (echo %%a)
pause
|
|
2008-5-6 14:29 |
|
|
huahua0919
银牌会员
    
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
|
2008-5-6 14:38 |
|
|
itrui
初级用户
 
积分 20
发帖 6
注册 2007-9-22
状态 离线
|
『第 10 楼』:
使用 LLM 解释/回答一下
Originally posted by huahua0919 at 2008-5-6 02:38 PM:
"^*"
上面这个会列出所有文件夹的
"^*"
呵呵,你冤枉我啊,我是那么写的吗?
|
|
2008-5-6 14:47 |
|
|
huahua0919
银牌会员
    
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
|
2008-5-6 14:52 |
|
|
joyn
中级用户
   丶杏灬丶
积分 280
发帖 105
注册 2008-5-6 来自 广西
状态 离线
|
|
2008-5-6 14:54 |
|
|
huahua0919
银牌会员
    
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
『第 13 楼』:
使用 LLM 解释/回答一下
其实这样就行了
findstr "" or findstr ""
就会显示所有有数字命名的文件夹
Last edited by huahua0919 on 2008-5-6 at 03:01 PM ]
|
|
2008-5-6 15:00 |
|
|
itrui
初级用户
 
积分 20
发帖 6
注册 2007-9-22
状态 离线
|
『第 14 楼』:
使用 LLM 解释/回答一下
Originally posted by huahua0919 at 2008-5-6 02:52 PM:
按照你那写法,所有显示的只是单个数字的文件夹
你搞错了吧,我这么写是显示纯数字组合的文件夹,并非单个数字。
findstr "" or findstr "",你这种写法,如果包括数字字母混合也会列出来。
Last edited by itrui on 2008-5-6 at 03:14 PM ]
|
|
2008-5-6 15:07 |
|
|
clian76
中级用户
  
积分 363
发帖 162
注册 2007-4-22
状态 离线
|
|
2008-9-14 15:33 |
|