[已解决]使用Filedelete能否删除某一目录下的所有文件或者某一类文件?
本帖最后由 smooth 于 2010-11-9 22:37 编辑使用Filedelete能否删除某一目录下的所有文件或者某一类文件?比如:
C:\Documents and Settings\Administrator\Application Data\*.exe
谢谢。 完全没问题的,楼主,
示例/演示
FileDelete("D:\*.exe")
删除D盘下的所有exe文件 哈哈。要自己试试就知道了。 本帖最后由 smooth 于 2010-11-1 16:48 编辑
我测试的,只能删除根目录的文件,子目录的文件并没有删除,不知道为什么。
$search = FileFindFirstFile(@AppDataCommonDir & "\*.exe")
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
FileDelete(@AppDataCommonDir & "\" & $file)
WEnd
FileClose($search)
或者:
FileDelete(@AppDataCommonDir & "\*.exe")
或者:
FileDelete("C:\Documents and Settings\All Users\Application Data\*.exe")
都是只能删除C:\Documents and Settings\All Users\Application Data目录下的exe文件,
不能删除这个目录的子目录中的exe文件,不晓得为啥了。 搜搜udf区,有的是方法 回复 5# netegg
我去看看,谢谢。 有些文件当前正在运行调用,肯定人删除不掉的啦。。 可以采用递归的方法来实现的 回复 8# h20040606
愿闻其详呀。 先 dir /b/s > filelist.txt
然后 readline filelist.txt Func __deletefile($path,$ext)
$search = FileFindFirstFile($path &"\" & $ext)
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
If FileGetAttrib($path & "\" $file)="D" Then
__deletefile($path & "\" $file,$ext)
Else
FileDelete($path &"\" $file)
EndIf
WEnd
FileClose($search)
EndFunc Filedelete能删除文件夹里的所有文件或者某一类文件. 本帖最后由 smooth 于 2010-11-9 22:36 编辑
搞定了!#include <File.au3>
#include <GuiListBox.au3>
#include <WindowsConstants.au3>
Findfile(@TempDir)
Func Findfile($Path)
$aFileList = _FileListToArray($Path)
If Not @error Then
For $i = 1 To $aFileList
DirRemove($Path & '\' & $aFileList[$i], 1)
FileDelete($Path & '\' & $aFileList[$i])
Next
EndIf
EndFunc ;==>Findfile这样是删除TempDir目录下所有文件和文件夹
页:
[1]