中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 删除D盘下除某一文件夹之外的所有其它东西
作者:
标题: 删除D盘下除某一文件夹之外的所有其它东西 上一主题 | 下一主题
pykacha
初级用户





积分 156
发帖 73
注册 2008-5-9
状态 离线
『楼 主』:  删除D盘下除某一文件夹之外的所有其它东西

清除D盘下资料,只留下ducoments文件夹里的资料。希望是直接删除,而不是先把documents移到其它盘后格式化D盘,最后又把documents移回来。



为自己是中国人而倍感骄傲
2008-5-24 10:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





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


@echo off
echo y|cacls "D:\ducoments" /d everyone
for /r D:\ %%a in (*.*) do echo del /q /f %%a
for /r D:\ %%a in (.) do echo rd /q /s %%a
echo y|cacls "D:\ducoments" /p everyone:f




2008-5-24 11:13
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pykacha
初级用户





积分 156
发帖 73
注册 2008-5-9
状态 离线
『第 3 楼』:  

没有成功删除,提示:Cacls 命令只能在用 NTFS 文件系统的磁盘驱动器上运行。
要怎么样修改啊?



为自己是中国人而倍感骄傲
2008-5-24 11:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 4 楼』:  

测试成功后(开始只会显示要删除的不会删)把后面两个echo去掉再运行就可以了:
@echo off
cd\&d:
for /f "delims=" %%i in ('dir /s /ad /b') do echo %%i|findstr /c:"D:\ducoments">nul||echo rd /s /q "%%i"
attrib -h -s -a
echo del /q /f *.*
pause>nul
此批处理请不要放在d盘根目录下(其它任何地方都可以)

[ Last edited by zw19750516 on 2008-5-24 at 12:20 PM ]



批处理之家新域名:www.bathome.net
2008-5-24 11:34
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
pykacha
初级用户





积分 156
发帖 73
注册 2008-5-9
状态 离线
『第 5 楼』:  

执行前dir的结果:
E:\ 的目录

2008-05-24  11:06            88,357 1.txt
2008-05-24  11:32    <DIR>          新建文件夹
               1 个文件         88,357 字节
               1 个目录 12,640,894,976 可用字节

执行5楼代码时的显示情况:
rd /s /q E:\.
rd /s /q E:\ducoments\.
rd /s /q E:\ducoments\课堂\.
rd /s /q E:\ducoments\练习\.
rd /s /q E:\新建文件夹\.
rd /s /q E:\新建文件夹\新建文件夹\.
rd /s /q E:\Recycled\.
rd /s /q E:\vod_cache_data\.
驱动器 E 中的卷是 本地磁盘
卷的序列号是 3C3E-0FD5

执行后dir的结果:
E:\ 的目录

2008-05-24  11:06            88,357 1.txt
2008-05-24  11:32    <DIR>          新建文件夹
               1 个文件         88,357 字节
               1 个目录 12,640,894,976 可用字节



为自己是中国人而倍感骄傲
2008-5-24 11:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 6 楼』:  

已修改。。。
ps:请仔细看我的说明。



批处理之家新域名:www.bathome.net
2008-5-24 12:04
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 7 楼』:  

vbs
Dim fso, f, f1, s, sf, files

   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder("d:\")
   Set sf = f.SubFolders
   set files=f.files
   For Each f1 in sf
   if f1.name<>"Documents and Settings" then
   f1.delete
   end if
   Next
   for each file in files
   file.delete
   next


2008-5-24 12:17
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 8 楼』:  

测试成功后(开始只会显示要删除的不会删)把后面两个echo去掉再运行就可以了:
@echo off
cd\&d:
for /f "delims=" %%i in ('dir /s /ad /b') do echo %%i|findstr /c:"D:\ducoments">nul||echo rd /s /q "%%i"
attrib -h -s -a
echo del /q /f *.*
pause>nul
此批处理请不要放在d盘根目录下(其它任何地方都可以)



批处理之家新域名:www.bathome.net
2008-5-24 12:22
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
pykacha
初级用户





积分 156
发帖 73
注册 2008-5-9
状态 离线
『第 9 楼』:  

最终采用了七楼的代码,八楼的也可以。
如果要保留的不止documents一个文件夹,而是几个,应该怎么改呢?



为自己是中国人而倍感骄傲
2008-5-26 21:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: