标题: [已结]求助:全盘搜索文件夹并执行删除
[打印本页]
作者: stoneyu
时间: 2008-10-8 21:59
标题: [已结]求助:全盘搜索文件夹并执行删除
求助:全盘搜索文件夹并执行删除
思路:硬盘的某分区有文件夹A,某分区有文件夹B,某分区有文件夹C,而且文件夹里面都有文件;
目的:全盘搜索文件夹并执行删除!
求各位大大们给个批处理代码,先谢谢了!!!
[
Last edited by HAT on 2008-10-13 at 13:59 ]
作者: HAT
时间: 2008-10-9 01:36
本版搜索
全盘搜索
作者: tireless
时间: 2008-10-9 10:04
@echo off
set drives=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 (%drives%) do (
if exist %%a (
for %%b in (A B C) do (
for /f "delims=" %%c in ('dir /s /b %%a\%%b 2^>nul') do rd /s /q "%%c"
)
)
)
[
Last edited by tireless on 2008-10-9 at 11:18 ]
作者: stoneyu
时间: 2008-10-9 11:10
楼上的P处理好像不能删除哦。
作者: tireless
时间: 2008-10-9 11:18
标题: Re 4楼
疏忽了一个地方,删除文件夹的时候文件夹路径没有用双引号括起来...
再试试修改过的 3 楼的代码。
[
Last edited by tireless on 2008-10-9 at 11:31 ]
作者: stoneyu
时间: 2008-10-9 11:44
试过了,还是不行。A B C 三个文件夹是隐藏且只读属性。
去掉文件夹的只读、隐藏属性后就可以搜索到并且可以删除,但加上只读、隐藏属性后就后就无法删除了。
还有个问题,就是文件夹在分区的根目录下也是无法删除的。
[
Last edited by stoneyu on 2008-10-9 at 11:50 ]
作者: mgq
时间: 2008-10-9 12:19
用 wmic 只不过速度慢点.
wmic datafile where "filename='文件名' and extension='扩展名'" call delete /nointeractive
作者: mgq
时间: 2008-10-9 12:24
sorry 楼上我写的是删除文件的,不是删除文件夹的.
作者: tireless
时间: 2008-10-9 13:19
@echo off
set drives=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 (%drives%) do (
if exist %%a (
cd /d %%a\
for %%b in (A B C) do (
for /r %%c in (%%b) do if exist %%c rd /s /q "%%c"
)
)
)
[
Last edited by tireless on 2008-10-9 at 14:17 ]
作者: stoneyu
时间: 2008-10-9 13:48
tireless,非常感谢你!现在可以了,不过我试了好多次,也不知道为啥,我把P处理放到D盘任意一个文件夹的子目录里,运行了之后别的盘的文件夹都删除了,唯独有D盘的文件夹就没有被删除,试了很多次都是这个结果,不知道是啥原因呢?(注:把P处理移动到D盘的根目录时就不会出这我说的这种情况).
作者: tireless
时间: 2008-10-9 14:18
标题: Re 10楼
9楼的代码修改过了。应该没问题了。
其实我在帮你的同时我也学到了很多 :)
[
Last edited by tireless on 2008-10-9 at 14:21 ]
作者: stoneyu
时间: 2008-10-10 21:58
tireless,厉害!!!现在可以了,啥问题都没了。一个“\”就有这么大的作用啊!
感谢!!!
作者: cqnc4444
时间: 2008-10-11 01:50
不累同志 真牛X