|
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 |
|
|
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
状态 离线
|
|
2008-5-24 12:04 |
|
|
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 |
|
|
pykacha
初级用户
积分 156
发帖 73
注册 2008-5-9
状态 离线
|
『第
9 楼』:
最终采用了七楼的代码,八楼的也可以。
如果要保留的不止documents一个文件夹,而是几个,应该怎么改呢?
|
为自己是中国人而倍感骄傲 |
|
2008-5-26 21:21 |
|