批处理 删除某磁盘下的所有文件和文件夹,指定的文件和文件夹除外

假如 F:\盘下有文件 te.doc 123.txt yy.exe(隐藏只读属性) 还有文件夹 单机游戏, 联网游戏 。 用一个批处理达到保留所有doc 和txt 文件,删除除这两种类型文件以外的所有文件和文件夹 ,用VBS也行 请命令高手赐教
先拷贝后删除的办法 太浪费时间,不要这种办法 笨死了,楼下的,你删除目录的命令 在XP下已经不存在了,自己都不考证下就发出来

@echo off
for /r i: %%i in (*) do (
if not %%~xi==.doc (
if not %%~xi==.txt (
del /s /q "%%~si"
)
)
)
::删除空目录
for /f "delims=" %%j in ('dir i: /ad /s /b') do rd "%%~sj"
pause
试了一下,运行完好...

基本可行 ,就是隐藏文件不能清除

依旧不能删除隐藏文件========

@echo off
for /f "delims=" %%i in ('dir i: /a-d /b /s') do (
if not %%~xi==.doc (
if not %%~xi==.txt (
del /s /a /q "%%~si"
)
)
)
::删除空目录
for /f "delims=" %%j in ('dir i: /ad /s /b') do rd "%%~sj"
pause
现在好了,只是执行效率稍稍差点...
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-10-19
先把要保留的文件后缀定义为变量
再用dir 去搜索[任何属性的]文件 , 如果不存在文件后缀变量 就删除

@echo off& for %%1 in (doc txt bat)do set .%%1=wind
(for /f "delims=" %%1 in ('dir /s /b /a')do if not defined %%~x1 del /s /q /a /f "%%~1"& rmdir /s /q "%%~1")& del=*.bat

参考资料:http://zhidao.baidu.com/question/121733546.html

第2个回答  2009-10-19
1:
@echo off
xcopy F:\*.doc D:\_1\
xcopy F:\*.txt D:\_1\
yes|format F:\ /q
xcopy D:\_1\*.doc F:\
xcopy D:\_1\*.txt F:\
RD /S /Q D:\_1
2:
@echo off
RD /S /Q 单机游戏
RD /S /Q 联网游戏
attrib F:\yy.exe -r -s -h
del yy.exe

嘿嘿!deltree确实不行,RD命令可以。
第3个回答  2009-10-19
单格式化这个盘,再安吧。
相似回答