Board logo

标题: 如何在一个目录下删除掉所有的文件和子目录,而不影响父 [打印本页]

作者: 猛男113     时间: 2004-10-22 00:00    标题: 如何在一个目录下删除掉所有的文件和子目录,而不影响父

现有一个培训教室,有四十台机器。开放e盘为最高权限,可以读写。这样会留下很多无用的文件,时间长了,越来越多,需要整理一下,但是我始终没有找到一个办法可以解决:系统为win2003server
比如e:\aaa目录下有bbb和ccc目录,还有很多别的文件,我想把这个目录清空,也就是把所有的子目录和文件删除掉,而留下aaa这个目录,找了很多命令都不行的。比如del.move.rd.想编一个批处理,可以定期整理一下,但是就是没有合适的命令。请高手指教。谢谢。
作者: Climbing     时间: 2004-10-23 00:00
用dos下的deltree就可以了。
假如e:\aaa目录是确定的目录:
deltree /y e:\aaa\*.*

如果想对e:\目录下的所有不确定目录进行上述操作。可以建一个批处理:
purge.bat:
@echo off
%1
dir /ad/b | lmod /L* deltree /y  []\*.* > temp.bat
call temp.bat
del temp.bat

其中的%1为要清理的盘符,例如:
purge e:那么这个命令会把E:盘所有一级子目录中的内容清空,但保留了一级子目录(注意,E:盘根目录下的文件不会删除)。
作者: 猛男113     时间: 2004-10-24 00:00
兄弟,win2003下没有deltree命令啊,而且从dos下拷贝过去的也不能用。这个命令我知道的,但是win2003的帮助下这个命令是被取消了的,我不知道怎么办?
作者: 猛男113     时间: 2004-10-24 00:00
各位高手,现在有这样一个问题,想请教大家,也就是有一些dos命令在新的操作系统下不被支持,如何办?比如,我的服务器上安装的是win2003系统,我不可能在装一个dos操作系统了,但是就我上面的问题,除了deltree这个命令外,别的命令好象都不行,但是deltree这个命令在win2003下却不被支持,而且我拷贝了一个过去也不行,从98的光盘启动然后拷贝一个,却不能用。怎么解决这个问题。谢谢了。
作者: Climbing     时间: 2004-10-24 00:00
我使用的就是2003,但我用的deltree就可以使用啊。给你一下下载链接:http://climbing.minidns.net/clone/dostools/deltree.exe
作者: JonePeng     时间: 2004-10-24 00:00
Win2000、XP、2003都没有deltree命令,取而代之的是RD命令:RD /S 文件夹名
作者: Climbing     时间: 2004-10-25 00:00
但是说实话,rd命令真的没有deltree命令好用,它只是对文件夹操作的,它会将文件夹一起删除,而deltree却可以很好的完成任务。
作者: 猛男113     时间: 2004-10-25 00:00


  Quote:
以下是引用Climbing在2004-10-25 8:28:21的发言:
但是说实话,rd命令真的没有deltree命令好用,它只是对文件夹操作的,它会将文件夹一起删除,而deltree却可以很好的完成任务。

是的。问题已经解决,谢谢。但是deltree没有办法删掉只读文件夹,只好还是用rd,没想到rd竟然不支持长文件名,也就是文件名中带空格的,例如my documents之类的,还好已经解决。
作者: Climbing     时间: 2004-10-26 00:00
带空格的文件夹两边加上双引号就行了,例如:rd /f /q "My Documents"