中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-01 20:13
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助!如何寻找所需的并删除文件夹(已解) 查看 2,956 回复 17
楼 主 求助!如何寻找所需的并删除文件夹(已解) 发表于 2006-07-03 09:23 ·  中国 广东 佛山 电信
初级用户
★★
积分 178
发帖 82
注册 2006-05-12 23:53
20年会员
UID 55419
状态 离线
由于WINDOWS升级会在%windir%目录下生成$****$的文件夹,由于一般情况下这些文件夹没什么作用所以想做个批处理来把这些文件夹给删除掉,请高手们解答一下。
就是如何把%windir%目录下全部升级备份文件夹$****$及其下的全部内容给删除?删除文件可以用通配符,但我用del却行不通。用rd的话同样是要全名的。怎样做才可以使用上通配符?

[ Last edited by austion on 2006-7-13 at 19:22 ]
2 发表于 2006-07-03 10:06 ·  中国 北京 联通
银牌会员
★★★
DOS联盟捡破烂的
积分 1,144
发帖 425
注册 2005-10-20 00:00
20年会员
UID 43784
来自 北京
状态 离线
for /d /r %a in (c:\windows\$*$) do @rd /s /q "%a"
没有经过测试............
3 发表于 2006-07-03 10:12 ·  中国 江苏 盐城 电信
新手上路
积分 6
发帖 3
注册 2006-07-03 10:11
20年会员
UID 57917
状态 离线
for /f %i in ('dir %systemroot% /adh /b ^|find "$NtUninstall"') do @echo %systemroot%\%i
4 发表于 2006-07-03 15:57 ·  中国 广东 佛山 电信
初级用户
★★
积分 178
发帖 82
注册 2006-05-12 23:53
20年会员
UID 55419
状态 离线
经测试,2楼的:
此时不应有do
3楼的:
命令语法不正确

以上是测试结果。
5 发表于 2006-07-03 17:11 ·  中国 北京 联通
银牌会员
★★★
DOS联盟捡破烂的
积分 1,144
发帖 425
注册 2005-10-20 00:00
20年会员
UID 43784
来自 北京
状态 离线
我想你还是看看吧,我觉得没有什么问题,)符号后面有个空格然后才是DO呢,三楼语法的问题是他单引号里错了,得改成'"........."'或者'.......^| .........'这样的形式才可以
6 发表于 2006-07-03 18:52 ·  中国 广东 佛山 电信
初级用户
★★
积分 178
发帖 82
注册 2006-05-12 23:53
20年会员
UID 55419
状态 离线
我是按照你写的来的,do前面是有空格的。
7 发表于 2006-07-03 21:49 ·  中国 辽宁 葫芦岛 中移铁通
荣誉版主
★★★
积分 1,338
发帖 356
注册 2005-07-15 12:09
21年会员
UID 40733
性别 男
状态 离线
换一下语句试一下

for /D %a in ("%windir%\$*$") do @rd /s /q "%a"
无奈何 2006-07-03 21:42
  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

8 发表于 2006-07-04 06:37 ·  中国 广东 佛山 电信
初级用户
★★
积分 178
发帖 82
注册 2006-05-12 23:53
20年会员
UID 55419
状态 离线
bagpipe:
三楼语法的问题是他单引号里错了,得改成'"........."'或者'.......^| .........'这样的形式才可以
那要怎样改呢?我对for比较陌生,不太懂。
无奈何:
不知道为什么,在我的机子里使用你给的语句会说:此时不应有windira"
其它机子上没验证
9 发表于 2006-07-04 08:50 ·  中国 北京 联通
银牌会员
★★★
DOS联盟捡破烂的
积分 1,144
发帖 425
注册 2005-10-20 00:00
20年会员
UID 43784
来自 北京
状态 离线
austion对不起了,您的问题我解决不了了.............
10 发表于 2006-07-04 09:26 ·  中国 广东 广州 天河区 电信
荣誉版主
★★★
积分 718
发帖 313
注册 2005-09-26 00:00
20年会员
UID 42844
性别 男
状态 离线
此时不应有windira


是 windir !!!
11 发表于 2006-07-04 09:56 ·  中国 广东 佛山 电信
初级用户
★★
积分 178
发帖 82
注册 2006-05-12 23:53
20年会员
UID 55419
状态 离线
我是按照无奈何得输入的,但是结果的确是显示:此时不应有windira"

不是windir也不是windira却是说windira“
我的输入是 for /D %a in ("%windir%\$*$") do @rd /s /q "%a"
写的是%windir%的久是显示结果却是:此时不应有windira"
12 发表于 2006-07-04 10:18 ·  中国 江苏 盐城 电信
新手上路
积分 6
发帖 3
注册 2006-07-03 10:11
20年会员
UID 57917
状态 离线
赫赫,真的假的,我可是测试好了再贴上来的
楼主要在批处理用得把%i替换成%%i

我是直接在命令行输入的

13 发表于 2006-07-04 15:57 ·  中国 广东 佛山 电信
初级用户
★★
积分 178
发帖 82
注册 2006-05-12 23:53
20年会员
UID 55419
状态 离线
doudou:
我也按照你说的去做了把%i替换成%%i
没弹出问题,但是就是还没能把需要的文件夹删除你看图吧



[ Last edited by austion on 2006-7-7 at 08:54 ]
14 发表于 2006-07-07 08:55 ·  中国 广东 佛山 电信
初级用户
★★
积分 178
发帖 82
注册 2006-05-12 23:53
20年会员
UID 55419
状态 离线
顶上去,希望有高手帮帮忙
15 发表于 2006-07-09 10:14 ·  中国 河南 郑州 电信
中级用户
积分 207
发帖 41
注册 2004-10-24 00:00
21年会员
UID 32885
性别 男
状态 离线
@echo off
dir /s /b /ah c:\$*$>clean.txt
for /f %%i in (clean.txt) do @rd /s /q "%%i"
论坛跳转: