Board logo

标题: 删除D盘下除某一文件夹之外的所有其它东西 [打印本页]

作者: pykacha     时间: 2008-5-24 10:56    标题: 删除D盘下除某一文件夹之外的所有其它东西

清除D盘下资料,只留下ducoments文件夹里的资料。希望是直接删除,而不是先把documents移到其它盘后格式化D盘,最后又把documents移回来。
作者: HAT     时间: 2008-5-24 11:13

@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

作者: pykacha     时间: 2008-5-24 11:24
没有成功删除,提示:Cacls 命令只能在用 NTFS 文件系统的磁盘驱动器上运行。
要怎么样修改啊?
作者: bat-zw     时间: 2008-5-24 11:34
测试成功后(开始只会显示要删除的不会删)把后面两个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 ]
作者: pykacha     时间: 2008-5-24 11:58
执行前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 可用字节
作者: bat-zw     时间: 2008-5-24 12:04
已修改。。。
ps:请仔细看我的说明。
作者: huahua0919     时间: 2008-5-24 12:17
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

作者: bat-zw     时间: 2008-5-24 12:22
测试成功后(开始只会显示要删除的不会删)把后面两个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盘根目录下(其它任何地方都可以)
作者: pykacha     时间: 2008-5-26 21:21
最终采用了七楼的代码,八楼的也可以。
如果要保留的不止documents一个文件夹,而是几个,应该怎么改呢?