Board logo

标题: 求一個自動刪除文件夾內所有內容的腳本 [打印本页]

作者: woof     时间: 2006-11-22 22:43    标题: 求一個自動刪除文件夾內所有內容的腳本

如題,我用del /q /s /arh filename

但是如果是文件夾或者隱藏並只讀文件久刪不掉,青問該怎麼做,謝謝
作者: afeichai     时间: 2006-11-22 22:49
用RD /q/s 试试
如果还要保留文件夹,可以用MD重建
作者: woof     时间: 2006-11-22 23:12
這個只是刪除目錄而已,我現在市場普通的文件,如果同時是隱藏的並且是只讀的,久刪不掉,只有把/s/q去掉財可以,但這樣的話普通的文件久刪不掉拉
作者: redtek     时间: 2006-11-22 23:50
RMDIR   /S   /Q   你要删除的目录名

(目录内有只读和隐藏属性的文件照样可以连同目录一起被删掉,已验证)
(但,这个要被删的目录内不得有正在运行的或被系统“占用”的文件,则可以删掉)

删除的时候必须在你要删除的目录名之外删除才可以删掉:)
如果你在删除一个目录名为:ABC ,但你此时又在这个 ABC 的目录内,则这个目录正被你使用(占用),所以删不掉。

删掉目录以后,可以再重建一个同名的目录,这样就相当于删掉了这个目录内的所以文件。
这样操作只是为了 “省事儿” 而已:)

) 上面方法是省事儿的方法,即删掉目标目录下的所有文件以及子目录,然后重建。

) 同时,上面原理操作我已经在我的机器上模拟建了一个目录,这个目录为隐藏+只读。
  同时,这个目录内建了若干子目录,全为隐藏+只读,
  同时,这些子目录内又建了n个文件,文件属性全为隐藏+只读

  然后,我在这个要删的目录的上级一目录执行 RMDIR  /S /Q 我要删的这个目录名。
  测试成功!(测试环境:Windows Server 2003 CMD Shell)

[ Last edited by redtek on 2006-11-22 at 10:55 AM ]
作者: ccwan     时间: 2006-11-23 00:08
redtek兄讲解问题耐心细致,并亲做测试,态度诚恳。欣赏,加分。
作者: 不得不爱     时间: 2006-11-23 00:18
del /q /s /f /afilename
就可以刪除文件夾內所有內容,包括隱藏並只讀文件。如果是文件夾就不会刪除
作者: woof     时间: 2006-11-23 02:25


  Quote:
Originally posted by 不得不爱 at 2006-11-22 11:18 AM:
del /q /s /f filename
就可以刪除文件夾內所有內容,包括隱藏並只讀文件。如果是文件夾就不会刪除

舉個例子
如果刪除temp文件夾下所有文件

del /q /s /f temp

結果是如果這個文件夾下有個隱藏且只讀的文件就不可以刪除

我的系統是繁體winxp sp1,
作者: afeichai     时间: 2006-11-23 02:29
我是这样做的
@RD /q/s %Temp%
@MD %Temp%
在XPSP2和2003SP1都可以实现
作者: 不得不爱     时间: 2006-11-23 02:37
7楼的加个/A看下
作者: redtek     时间: 2006-11-23 02:47
Windows系统指定的临时文件存储目录有个: 2006-11-22  13:44    <DIR>          Temporary Internet Files

如果你执行: rmdir /s /q "Temporary Internet Files" 命令,则删不掉某些文件。
因为这些文件是正在被打开使用的文件。
如果正在被打开使用的系统文件也能删掉的话,这也太不全安了吧?哈哈……
Temporary Internet Files\Content.IE5\9KVUC49T\zh-CN[1] - 另一个程序正在使用此文件,进程无法访问。
Temporary Internet Files\Content.IE5\index.dat - 另一个程序正在使用此文件,进程无法访问。
但是,当我关掉IE浏览器以后,我再执行: rmdir /s /q "Temporary Internet Files" 命令

就会发现现在只剩一个文件删不掉了:)
Temporary Internet Files\Content.IE5\index.dat - 另一个程序正在使用此文件,进程无法访问。
正在被打开和正在被系统使用的文件是不能被一般情况下删除的,这是系统为了安全考虑:)

[ Last edited by redtek on 2006-11-22 at 01:52 PM ]
作者: woof     时间: 2006-11-23 02:51
加個-a就可以了,OK,謝謝,

但文件夾怎麼拌啊?只有在加一個命令?

有沒有一個命令可以刪掉所有文件,(包括文件夾),但不刪除目錄本身

謝謝打架
作者: electronixtar     时间: 2006-11-23 07:05
能删除掉 index.dat 的,说明你的技术不是一般的高啦。
作者: tao0610     时间: 2006-11-23 07:16
index.dat可以在DOS下清除,或者用别的帐号登陆也可以清除!
软件用Tracks Eraser Pro也可以。
不过为了点历史记录这么大费周章没必要(除了你被黑客盯上,或者在做什么不法事情)
作者: anqing     时间: 2006-11-23 07:28
temp文件夹内的内容,有的被系统占用,无法删除,不知用什么办法,能删除它们。能不能写下bat 看看?
作者: anqing     时间: 2006-11-23 07:32


  Quote:
Originally posted by afeichai at 2006-11-23 02:29:
我是这样做的
@RD /q/s %Temp%
@MD %Temp%
在XPSP2和2003SP1都可以实现

如果temp文件夹里有程序正在占用,也能删除temp文件夹吗?
哪位能写一个vbs的脚 本,让我们学习一下?vbs脚 本的用法?
作者: electronixtar     时间: 2006-11-23 07:32


  Quote:
index.dat可以在DOS下清除,或者用别的帐号登陆也可以清除!
软件用Tracks Eraser Pro也可以。
不过为了点历史记录这么大费周章没必要(除了你被黑客盯上,或者在做什么不法事情)

我当然说的是“使用中”,手工清除啦。纯DOS下什么不能删啊?