fuldho 发表于 2010-5-6 09:20:22

au3删除多个文件(已解决)

本帖最后由 fuldho 于 2010-5-6 18:58 编辑

如:123文件夹内要删除a,b ,c ,d等多个不同扩展名文件,
是一句一句的写吗?

谢谢!

m765555 发表于 2010-5-6 10:00:48

整个文件夹里的内容全删除吗

fuldho 发表于 2010-5-6 10:21:52

整个文件夹里的内容全删除吗
m765555 发表于 2010-5-6 10:00 http://www.autoitx.com/images/common/back.gif

不是!还有多个相同扩展名的文件要保留,
    整个文件夹内的全部删除就好办了。

clshuai 发表于 2010-5-6 12:57:03

楼主可尝试如下方法。

只需要更改你的文件扩展名就OK了,比如要删除所有的jpg文件,可以如下操作Dim $filePath = "d:\123"
$search = FileFindFirstFile($filePath & "\*.jpg")

; Check if the search was successful
If $search = -1 Then
    MsgBox(0, "Error", "No files/directories matched the search pattern")
    Exit
EndIf

While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop

        FileDelete($filePath & "\" & $file)
WEnd

; Close the search handle
FileClose($search)

afan 发表于 2010-5-6 13:17:08

如果无需遍历子目录,且需删除的指定后缀名也不多,直接一行行 FileDelete('*.后缀名') 已经很简单了

fuldho 发表于 2010-5-6 17:10:26

回复 5# afan
一个安装程序安装完成后要执行汉化(共23个)拷贝到\%windir%目录下,卸载后汉化文件还存在,
如果一行一行地写就得23行,我想找到一个简单的代码,看样子只有一行一行的写了。

谢谢各位了!

afan 发表于 2010-5-6 18:32:51

Dim $files = ['a.x', 'b.x', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''] ;定义这23个文件
For $i = 0 To 22
        ;FileRecycle(@WindowsDir & '\' & $files[$i]) ;删进回收站
        ;FileDelete(@WindowsDir & '\' & $files[$i]) ;直接删除
Next

fuldho 发表于 2010-5-6 18:57:10

回复 7# afan
谢谢版主的帮助!
可以这样写就简单多了!

jtzxgfy 发表于 2010-5-6 19:03:21

谢谢版主的帮助!
页: [1]
查看完整版本: au3删除多个文件(已解决)