删除文件及子目录,除自身目录!
DirRemove("c:\123\",1)如果这样写的话,就连123自身目录,也会删除,
除了 把123目录删除了,再新建. 的办法 在线等,大家给个思路,参考下. 我这有vbs的,你参考下Set fso=CreateObject("scripting.filesystemobject")
Set dir=fso.GetFolder("C:\123")
For Each d In dir.SubFolders
d.Delete True
Next
For Each f In dir.Files
f.Delete true
Next 我这有vbs的,你参考下
www378660084 发表于 2011-3-15 20:46 http://www.autoitx.com/images/common/back.gif
不行的` $fso=objcreate("scripting.filesystemobject")
$dir=$fso.GetFolder("C:\123")
For $d In $dir.SubFolders
$d.Delete(True)
Next改改三楼的{:face (396):} 改改三楼的
kevinch 发表于 2011-3-15 21:00 http://www.autoitx.com/images/common/back.gif
删除了,子目录,但,文件没删不了了! FileRecycle(@UserProfileDir & "\Local Settings\Temp\*.*")
我这样试了试,成功了
但是删了不系统下的, @UserProfileDir & "\Local Settings\Temp\*.*东西! ;你把删文件的加上不就把文件删了.....................................
$fso=objcreate("scripting.filesystemobject")
$dir=$fso.GetFolder("C:\123")
For $d In $dir.SubFolders
$d.Delete(True)
Next
For $d In $dir.files
$d.Delete(True)
Next
同样的问题看到过很多次了,难道就不会先搜索一下论坛?
难道每次都不思考,不搜索就马上跑出来提问?
_filedelete(@ScriptDir&"\backup",'*.jpg',0)
ShellExecute(@ScriptDir&"\backup")
Func _filedelete($path, $ext = '*.*', $flag = 0);_filedelete(路径,[[文件类型],0=不包括子目录,1=包括子目录(当包括子目录时只能用*.*)])
Local $reulst,$abc
If StringRight($path, 1) <> "\" Then $path = $path & "\"
If $flag = 0 Then
$reulst = FileDelete($path&$ext)
Return $reulst
ElseIf $flag = 1 And $ext = '*.*' Then
$search = FileFindFirstFile($path&$ext)
If $search = -1 Then
Return SetError(2)
EndIf
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
$abc&=$path&$file&"|"
If FileGetAttrib($path&$file)='D' Then
DirRemove($path&$file,1)
Else
FileDelete($path&$file)
EndIf
WEnd
FileClose($search)
EndIf
EndFunc ;==>_filedelete
删了再建不是最好的办法吗? 问题解决了,哈哈#Include <File.au3>
$path=@UserProfileDir & "\Local Settings\Temp\"
$file=_FileListToArray(@UserProfileDir & "\Local Settings\Temp\")
For $i = 1 To $file
DirRemove($path & $file[$i],1)
FileDelete($path & $file[$i])
Next这样,既简单!不过搞的我头都大了,试了好几种办法!最后利用FileListToArray解决了
我刚开始就想到了,删除再建!
因为,里边的某些文件系统正在调用无法删除,呵呵
其实,很简单,用批处理 del /s *.* 就能搞定
也只是为了学习au3,开阔一下自己的思路而已!
谢谢大家
页:
[1]