да, вот такой скрипт
Код:
#include <File.au3>
$j = 0
$start = TimerInit()
_Setter('c:')
$time = TimerDiff($start) / 1000
MsgBox(0, 'Time', $time & ' seconds elapsed' & @CRLF & $j & ' files scanned')
Func _Setter($sPath)
Local $aAll = _FileListToArray($sPath)
If Not IsArray($aAll) Then Return
For $i = 1 To $aAll[0]
If _PathIsFolder($sPath & '\' & $aAll[$i]) Then
$sNew_Path = $sPath & '\' & $aAll[$i]
;$iTotal_Folders += 1
_Setter($sNew_Path)
Else
$j += 1
If $aAll[$i] = 'farmenu.ini' Then FileSetAttrib($sPath & '\' & $aAll[$i], '+SH')
EndIf
Next
Return
EndFunc
Func _PathIsFolder($sPath)
Return StringInStr(FileGetAttrib($sPath), "D")
EndFunc
выполнялся 15 секунд против 5 секунд с этим примером
Код:
$start = TimerInit()
RunWait(@ComSpec & ' /C attrib +h +s farmenu.url /s', 'c:\', @SW_HIDE)
$time = TimerDiff($start) / 1000
MsgBox(0, 'Time', $time & ' seconds elapsed')
PS: кол-во файлов на диске С у меня ~175 тыс.