dearmb 发表于 2011-1-10 21:43:35

(已解决)如何能只删除文件,保留文件夹?

本帖最后由 dearmb 于 2011-1-11 08:24 编辑

想做个更新文件的东东,复制粘贴即可
因为有些文件,直接覆盖,会报错,因此失败
所以想到把原来的文件全都删除,之后把文件拷进去
但是这样有个问题,原来的文件夹权限都被删没了,还要重加
有什么办法能只删除文件,而不删除文件夹呢?
此外问一下,fastcopy只能用run(命令行)的方式运行么?
有办法把fastcopy集成到自己编写的au3里么?

kodin 发表于 2011-1-10 21:46:32

如果它本身支持命令操作,就可以集成。

gzh888666 发表于 2011-1-10 22:06:13

遍历应该是可以的吧!

dearmb 发表于 2011-1-10 22:22:46

如果它本身支持命令操作,就可以集成。
kodin 发表于 2011-1-10 21:46 http://autoitx.com/images/common/back.gif
怎么集成啊?我现在想到的,就是把fastcopy和au3脚本一起复制到同一个路径,然后运行au3脚本,似乎看着很不顺眼的说……想搞到一起……

dearmb 发表于 2011-1-10 22:23:29

遍历应该是可以的吧!
gzh888666 发表于 2011-1-10 22:06 http://autoitx.com/images/common/back.gif
从头到尾的遍历删除么?应该可以,似乎比较麻烦,实在没办法的时候再用吧

netegg 发表于 2011-1-11 01:52:53

本帖最后由 netegg 于 2011-1-11 01:55 编辑

Func Empty($current)
        Local $search = FileFindFirstFile($current & "\*.*")
        While 1
                Dim $file = FileFindNextFile($search)
                If @error Or StringLen($file) < 1 Then ExitLoop
                If Not StringInStr(FileGetAttrib($current & "\" & $file), "D") And ($file <> "." Or $file <> "..") Then
                        filedelete($current & "\" & $file)
                EndIf
                If StringInStr(FileGetAttrib($current & "\" & $file), "D") And ($file <> "." Or $file <> "..") Then
                        Empty($current & "\" & $file)
                EndIf
        WEnd
EndFunc

dearmb 发表于 2011-1-11 08:24:27

谢谢,突然想到很多文件也有权限问题,删了文件依然要改权限,谢谢!
页: [1]
查看完整版本: (已解决)如何能只删除文件,保留文件夹?