无忧启动论坛

标题: (一条命令)删除除了“某个目录”以外的全部目录 [打印本页]

作者: pk4321    时间: 2007-4-29 21:22
标题: (一条命令)删除除了“某个目录”以外的全部目录
rem 假如“某个目录”放在 c:\temp\ , 但是如果是放在c:\的话,将会删除整个C盘的全部目录,而只剩下“某个目录”!(请慎重使用!)
rem 建立测试目录:
md c:\temp
md "c:\temp\My Documents"
md c:\temp\def
md c:\temp\123

rem 由于下面的 for... if 语句是大小写敏感的,为了安全起见,先改名
ren "c:\temp\my documents" "c:\temp\My Documents"

rem 核心语句,如果是在命令提示符下输入就是这个,如果是在批处理文件中,则将“%i”改为"%%i"
for /d %i in (c:\temp\*.*) do if not "%i"=="c:\temp\My Documents" rd /s /q "%i"




rem 另外,如果将上面for语句改为这个,那么就是删除c:\temp\下的所有子目录,除了c:\temp\下的“文件”没有被删除。
for /d %i in (c:\temp\*.*) do rd /s /q "%i"

rem 如果还要删除c:\temp\下的所有文件,那么可以执行:
del /f /s /q /a c:\temp\*.*

rem 确实上面这两句合起来就是完成了一个工作:清空c:\temp\目录下全部东西。有没有高手只用一行语句就完成此功能?


最近本人在通过网络来批量维护客户机的时候要用到,所以顺便发此贴分享给大家!

[ 本帖最后由 pk4321 于 2007-4-29 09:50 PM 编辑 ]
作者: 6618    时间: 2007-5-6 19:59
感谢分享,顶一帖。
作者: 狂野    时间: 2007-5-8 08:20
好像只能删除C:\和E:\分区,其它分区不行。怎么回事
作者: fangyzhai    时间: 2007-5-9 16:23
MS比较有用,先收下了
作者: armymangl    时间: 2007-5-9 16:53
批处理命令俺看着头晕




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3