Board logo

标题: 删除某一文件夹里的一些数字名字的文件夹 解决了 [打印本页]

作者: huzixuan     时间: 2007-1-25 23:02    标题: 删除某一文件夹里的一些数字名字的文件夹 解决了

我想用批处理删除QQ目录下的用户文件夹怎么建批处理?
问题补充:主要删除的是像[119056547] [228469840] 这种文件夹,其它的QQ文件

另外文件夹内有如 "R2beat"的文件夹,也包含数字,为了避免删除.所以希望可以限制
如某文件夹名:少于 3种不同数字组合 就不删除。
像是这样 "R2beat" "R2beat1" "1R2beat3" "123"

[ Last edited by huzixuan on 2007-1-27 at 12:10 AM ]
作者: NaturalJ0     时间: 2007-1-26 03:17

@echo off
setlocal enabledelayedexpansion
for /f %%i in ('dir/ad/b') do (
        set /a folder=%%i
        if not "!folder!"=="0" echo rd /s %%i
)
pause
演示代码,觉得没有问题,就把 echo 去掉。

============================================

修改了下:
@echo off
setlocal enabledelayedexpansion
for /f %%i in ('dir/ad/b') do (
        set /a folder=0
        set /a folder=%%i 2>nul
        if not "!folder!"=="0" rd /s /q %%i
)
看楼主的意思是要删除QQ用户号码的目录,这段的作用是只删除数字组成的目录(0、00、000。。。这些目录除外)
试用时请先复制一份,以免因我代码有误而造成损失。

! 的意思是变量延迟,论坛有这方面详细介绍的资料,可以查阅下。

[ Last edited by NaturalJ0 on 2007-1-26 at 09:44 PM ]
作者: wyd531     时间: 2007-1-26 04:02
"!folder!"=="0"
这句是什么意思,
作者: wyd531     时间: 2007-1-26 04:17
folder两边加上!有什么作用???????????
作者: bbq123bbq     时间: 2007-1-26 05:06
2楼的代码不去掉echo 也不会删除..rd /s /q 才可以...
作者: huzixuan     时间: 2007-1-26 08:10
不对阿,2楼的帅哥你写不行
作者: jmz573515     时间: 2007-1-26 08:14
像是这样 "R2beat" "R2beat1" "1R2beat3"
我想问一下,"123"是要删除的还是要保留的?
作者: huzixuan     时间: 2007-1-26 21:22
是要删除的, 少于3个数字组合的就要删除
作者: namejm     时间: 2007-1-26 22:38


  Quote:
如某文件夹名:少于 3种不同数字组合 就不删除。
像是这样 "R2beat" "R2beat1" "1R2beat3" "123"

  你这样的说法是非常摸棱两可或者自相矛盾的,请你把意思表达完整,把话说清楚。

  如果只是删除QQ目录下所有以数字命名的文件夹,可以使用如下代码:
@echo off
:: 放在QQ目录下运行,如果满意再去掉 echo
for /f %%i in ('dir /ad /b^|findstr "^[0-9]*$"') do echo rd /s /q %%i
pause

作者: pureobscure     时间: 2007-1-26 22:54
看来要学的还不少。初看题目只想到要用 for in do。 看完以上诸位发言才发现还有这么多变量可以设置。

不过说老实话,又看了遍楼住的帖子,没搞明白楼住到底要做什么。
作者: namejm     时间: 2007-1-26 23:08
  NaturalJ0 兄在2楼的代码比较另类,充分利用了非数字不能用 set /a 来赋值的特点,在处理QQ用户文件夹的时候工作得很好。但是如果有一天,QQ的数字超过 2^31 的时候,会出错;或者要处理的不是QQ用户文件夹,而是处理纯数字命名的文件夹的话,会漏掉以08和09打头的文件夹,也不能处理以超过 2^31 的数字命名的文件夹^_^
作者: NaturalJ0     时间: 2007-1-26 23:55
还是 namejm 考虑的周道啊,你提的这些问题我还没想到过。 = =b
继续学习。
作者: huzixuan     时间: 2007-1-27 00:09
阿哈哈
谢谢 namejm
斑竹
  你那个正是我想要的