a000000 发表于 2017-1-1 15:18:23

关于根据文件名长度删除文件夹,请教

本帖最后由 a000000 于 2017-1-1 15:35 编辑

开机后软件自动生成这些长文件名的文件夹(里面全是广告),而且名字随机,一般为27-32个字节,请问应该如何批量删除这些长文件名的文件夹啊?
查了很多资料也没有这方面的
多谢大侠

Alam 发表于 2017-1-1 16:53:28

[/#RequireAdmin
#include <file.au3>
$aRr = _FileListToArray(@SystemDir, '', 2)
If Not IsArray($aRr) Then Exit
For $i = 1 To $aRr
        If StringLen($aRr[$i]) < 27 Then ContinueLoop
        If StringRegExp($aRr[$i], '\w') Then
                MsgBox(0, '可疑文件夹', $aRr[$i])
                ;FileDelete(@SystemDir & '\' & $aRr[$i])
        EndIf
Next
code]

a000000 发表于 2017-1-1 17:30:31

不知道为什么,测试后无效

Alam 发表于 2017-1-1 18:13:25

本帖最后由 Alam 于 2017-1-1 18:15 编辑

回复 3# a000000
判断上不对.
#RequireAdmin
#include <file.au3>
$aRr = _FileListToArray('C:\WINDOWS\system32', '', 2)
If Not IsArray($aRr) Then Exit
For $i = 1 To $aRr
        If StringLen($aRr[$i]) < 27 Then ContinueLoop
        If StringRegExp($aRr[$i], '\W') Then ContinueLoop
                MsgBox(0, '可疑文件夹', $aRr[$i])
                ;FileDelete('C:\WINDOWS\system32\' & $aRr[$i])
Next

a000000 发表于 2017-1-1 18:25:34

本帖最后由 a000000 于 2017-1-1 18:29 编辑

回复 4# Alam


    测试后不动作,在C:\WINDOWS\system32建立文件夹名字为:01234567890123456789012345678901

结果压根不提示,msgbox没动作


经测试,不管大于还是小于,均不提示

应该是If Not IsArray($aRr) Then Exit

在这里直接exit了

Alam 发表于 2017-1-1 18:32:11

.......那函数默认参数的设置有点问题,应该算是个'BUG'
这样就可以了.
#RequireAdmin
#include <file.au3>
#include <array.au3>
$aRr = _FileListToArray('C:\WINDOWS\system32', '*', 2)
If Not IsArray($aRr) Then Exit MsgBox(0, @error, '找不着相关文件夹')
_ArrayDisplay($aRr)
For $i = 1 To $aRr
      If StringLen($aRr[$i]) < 27 Then ContinueLoop
      If StringRegExp($aRr[$i], '\W') Then ContinueLoop
      MsgBox(0, '可疑文件夹', $aRr[$i])
      ;FileDelete('C:\WINDOWS\system32\' & $aRr[$i])
Next

a000000 发表于 2017-1-1 18:43:00

;FileDelete('C:\WINDOWS\system32\' & $aRr[$i])

这句改为FileDelete('C:\WINDOWS\system32\' & $aRr[$i])

不删除,是不是后面的 & $aRr[$i] 也必须在引号内?

Alam 发表于 2017-1-1 19:13:17

回复 7# a000000

抱歉...函数用错了,应该用删除文件夹函数 DirRemove('C:\WINDOWS\system32\' & $aRr[$i], 1)

lxwlxwayy 发表于 2017-1-1 19:26:54

不错帮你顶

a000000 发表于 2017-1-2 07:23:00

回复 8# Alam


    多谢大侠,已经完美解决,再次感谢

zpmc123 发表于 2017-1-2 13:28:35

这个源码会用到要好好学一下!
页: [1]
查看完整版本: 关于根据文件名长度删除文件夹,请教