中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-09-29 04:59
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]求助:全盘搜索文件夹并执行删除 查看 1,215 回复 12
楼 主 [已结]求助:全盘搜索文件夹并执行删除 发表于 2008-10-08 21:59 ·  中国 浙江 宁波 鄞州区 联通
初级用户
★
积分 53
发帖 24
注册 2007-06-15 10:33
19年会员
UID 91393
性别 男
状态 离线
求助:全盘搜索文件夹并执行删除

思路:硬盘的某分区有文件夹A,某分区有文件夹B,某分区有文件夹C,而且文件夹里面都有文件;
目的:全盘搜索文件夹并执行删除!

求各位大大们给个批处理代码,先谢谢了!!!

[ Last edited by HAT on 2008-10-13 at 13:59 ]
第 2 楼 发表于 2008-10-09 01:36 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
本版搜索全盘搜索
第 3 楼 发表于 2008-10-09 10:04 ·  中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
19年会员
UID 96653
性别 男
状态 离线
@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 ]
第 4 楼 发表于 2008-10-09 11:10 ·  中国 浙江 宁波 余姚市 联通
初级用户
★
积分 53
发帖 24
注册 2007-06-15 10:33
19年会员
UID 91393
性别 男
状态 离线
楼上的P处理好像不能删除哦。
第 5 楼 Re 4楼 发表于 2008-10-09 11:18 ·  中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
19年会员
UID 96653
性别 男
状态 离线
疏忽了一个地方,删除文件夹的时候文件夹路径没有用双引号括起来...

再试试修改过的 3 楼的代码。

[ Last edited by tireless on 2008-10-9 at 11:31 ]
第 6 楼 发表于 2008-10-09 11:44 ·  中国 浙江 宁波 余姚市 联通
初级用户
★
积分 53
发帖 24
注册 2007-06-15 10:33
19年会员
UID 91393
性别 男
状态 离线
试过了,还是不行。A B C 三个文件夹是隐藏且只读属性。


去掉文件夹的只读、隐藏属性后就可以搜索到并且可以删除,但加上只读、隐藏属性后就后就无法删除了。

还有个问题,就是文件夹在分区的根目录下也是无法删除的。

[ Last edited by stoneyu on 2008-10-9 at 11:50 ]
第 7 楼 发表于 2008-10-09 12:19 ·  中国 广东 肇庆 广宁县 电信
中级用户
★★
积分 206
发帖 103
注册 2008-05-06 16:59
18年会员
UID 117911
性别 男
来自 广东 肇庆
状态 离线
用 wmic 只不过速度慢点.

wmic datafile where "filename='文件名' and extension='扩展名'" call delete /nointeractive
第 8 楼 发表于 2008-10-09 12:24 ·  中国 广东 肇庆 广宁县 电信
中级用户
★★
积分 206
发帖 103
注册 2008-05-06 16:59
18年会员
UID 117911
性别 男
来自 广东 肇庆
状态 离线
sorry 楼上我写的是删除文件的,不是删除文件夹的.
第 9 楼 发表于 2008-10-09 13:19 ·  中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
19年会员
UID 96653
性别 男
状态 离线
@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 ]
第 10 楼 发表于 2008-10-09 13:48 ·  中国 浙江 宁波 余姚市 联通
初级用户
★
积分 53
发帖 24
注册 2007-06-15 10:33
19年会员
UID 91393
性别 男
状态 离线
tireless,非常感谢你!现在可以了,不过我试了好多次,也不知道为啥,我把P处理放到D盘任意一个文件夹的子目录里,运行了之后别的盘的文件夹都删除了,唯独有D盘的文件夹就没有被删除,试了很多次都是这个结果,不知道是啥原因呢?(注:把P处理移动到D盘的根目录时就不会出这我说的这种情况).
第 11 楼 Re 10楼 发表于 2008-10-09 14:18 ·  中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
19年会员
UID 96653
性别 男
状态 离线
9楼的代码修改过了。应该没问题了。

其实我在帮你的同时我也学到了很多 :)

[ Last edited by tireless on 2008-10-9 at 14:21 ]
第 12 楼 发表于 2008-10-10 21:58 ·  中国 浙江 宁波 联通
初级用户
★
积分 53
发帖 24
注册 2007-06-15 10:33
19年会员
UID 91393
性别 男
状态 离线
tireless,厉害!!!现在可以了,啥问题都没了。一个“\”就有这么大的作用啊!

感谢!!!
第 13 楼 发表于 2008-10-11 01:50 ·  中国 四川 攀枝花 电信
新手上路
★
积分 14
发帖 9
注册 2008-10-11 00:58
17年会员
UID 128043
性别 男
状态 离线
不累同志 真牛X
论坛跳转: