中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 怎样删除各盘内指定文件夹? 上一主题 | 下一主题
ixxxxyou
初级用户





积分 141
发帖 63
注册 2008-5-6
状态 离线
『楼 主』:  怎样删除各盘内指定文件夹?

想要删除各盘根目录里FOUND.*的文件夹,和%windir%里$*$文件夹
(不是文件哦,还有删除里面的全部文件)

set alldrive=c d e f g h i
for /f %%i in ('dir /ad /b %alldrive%:\^|find "found"') do rd /q/s %%i

好像FOR删不了FOUND.*的文件夹啊...

2008-6-19 23:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  

原因是%alldrive%这里使用有误,你的for命令并没有对每个磁盘进行遍历,因此失败,试试这个?
set alldrive=c d e f g h i
for %%a in (%alldrive%) do (
    for /f "delims=" %%b in ('dir /ab/b %%a:\found.*') do (
         rd /s /q "%%a:\%%b"
    )
)

for /f "delims=" %%a in ('dir /ad/b %windir%\$*$') do rd /s/q "%windir%\%%a"


2008-6-20 02:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ixxxxyou
初级用户





积分 141
发帖 63
注册 2008-5-6
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by lxmxn at 2008-6-20 02:47 AM:
原因是%alldrive%这里使用有误,你的for命令并没有对每个磁盘进行遍历,因此失败,试试这个?
[code]
set alldrive=c d e f g h i
for %%a in (%alldrive%) do (
    f ...

这个没有权限的限制吧?

2008-6-20 16:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by ixxxxyou at 2008-6-20 04:47 PM:



这个没有权限的限制吧?

如果你的没有,斑竹的也没有。



2008-6-20 16:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ixxxxyou
初级用户





积分 141
发帖 63
注册 2008-5-6
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by lxmxn at 2008-6-20 02:47 AM:
原因是%alldrive%这里使用有误,你的for命令并没有对每个磁盘进行遍历,因此失败,试试这个?
[code]
set alldrive=c d e f g h i
for %%a in (%alldrive%) do (
    f ...

运行这批后..出现   参数格式不正确 - "b"    这样的提示..
就found.*文件没有删除掉

2008-6-20 23:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  

set alldrive=c d e f g h i
for %%a in (%alldrive%) do (
    for /f "delims=" %%b in ('dir /ad/b %%a:\found.*') do (
         rd /s /q "%%a:\%%b"
    )
)

for /f "delims=" %%a in ('dir /ad/b %windir%\$*$') do rd /s/q "%windir%\%%a"

这样可以吗?



2008-6-21 03:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ixxxxyou
初级用户





积分 141
发帖 63
注册 2008-5-6
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by HAT at 2008-6-21 03:22 AM:
set alldrive=c d e f g h i
for %%a in (%alldrive%) do (
    for /f "delims=" %%b in ('dir /ad/b %%a:\found.*') do (
         rd /s /q "%%a:\%%b"
    )
)

f ...

这个可以删除了..  但会出现"设备未就绪"

2008-6-21 19:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ixxxxyou
初级用户





积分 141
发帖 63
注册 2008-5-6
状态 离线
『第 8 楼』:  

OK~!  知道那里出问题了

2008-6-21 20:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ixxxxyou
初级用户





积分 141
发帖 63
注册 2008-5-6
状态 离线
『第 9 楼』:  

for /f "delims=" %%a in ('dir /ad/b %windir%\$*$') do rd /s/q "%windir%\%%a"  

这一句如果没有文件时会提示找不到文件..加了>nul 2>nul也一样显示啊??

2008-6-21 20:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 10 楼』:  

你把>nul 2>nul加到哪里了?



2008-6-21 20:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ixxxxyou
初级用户





积分 141
发帖 63
注册 2008-5-6
状态 离线
『第 11 楼』:  

for /f "delims=" %%a in ('dir /ad/b %windir%\$*$') do rd /s/q "%windir%\%%a"   >nul 2>nul

2008-6-21 20:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 12 楼』:  


for /f "delims=" %%a in ('dir /ad/b "%windir%\$*$" 1^>nul 2^>nul') do (rd /s/q "%windir%\%%a")


2008-6-21 21:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ixxxxyou
初级用户





积分 141
发帖 63
注册 2008-5-6
状态 离线
『第 13 楼』:  

1^>nul 2^>nul中的1^和2^是什么意思啊?

2008-6-22 00:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 14 楼』:  



  Quote:
Originally posted by ixxxxyou at 2008-6-22 12:44 AM:
1^>nul 2^>nul中的1^和2^是什么意思啊?

CMD/DOS下符号的作用参考
http://www.cn-dos.net/forum/viewthread.php?tid=30985&fpage=4



2008-6-22 02:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
9634888
初级用户





积分 38
发帖 19
注册 2006-10-28
状态 离线
『第 15 楼』:  

进来学习一下。

2008-6-22 11:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: