Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Creat0R

Если только средствами AutoIt, то вот что получилось
Код: Выделить весь код
#include <File.au3>
#include <Array.au3>
;Поиск самого нового файла
Func _NewestFile ($sPath, $sMask='*')
	Local $i, $dlist[1]=[0], $blist=_MyFileListToArray ($sPath, $sMask)
	If $blist[0]=0 Then Return ""
	For $i=1 To $blist[0]
		_ArrayAdd ($dlist, FileGetTime ($blist[$i], 0, 1))
	Next
	Return $blist[_ArrayMaxIndex ($dlist, 0, 1)]
EndFunc
;Размер файлов с учетом подкаталогов
Func _MyDirGetSize ($sPath, $sMask='*')
	Local $i, $size=0, $blist=_MyFileListToArray ($sPath, $sMask)
	If $blist[0]=0 Then Return 0
	For $i=1 To $blist[0]
		$size = $size + FileGetSize ($blist[$i])
	Next
	Return $size
EndFunc
;Возвращает массив имен файлов с учетом подкаталогов
Func _MyFileListToArray ($sPath, $sMask='*')
	Local $i, $j, $blist, $rlist[1]=[0], $dlist = _DirListToArray ($sPath)
	_ArrayAdd ($dlist, $sPath)
	For $i=1 To $dlist [0] +1
		$blist = _FileListToArray ($dlist [$i], $sMask, 1)
		If Not @error Then
			For $j=1 To $blist [0]
				_ArrayAdd ($rlist, $dlist[$i] & "\" & $blist [$j])
			Next
		EndIf
	Next
	$rlist [0] = UBound ($rlist) - 1
	Return $rlist
EndFunc
;Возвращает массив структуры подкаталогов
Func _DirListToArray ($sPath)
	Local $i, $j, $rlist[1]=[0], $blist, $alist=_FileListToArray ($sPath, '*', 2)
	If IsArray ($alist) Then
		For $i=1 To $alist [0]
			_ArrayAdd ($rlist, $sPath & "\" & $alist [$i])
			$blist = _DirListToArray ($sPath & "\" & $alist [$i])
			If $blist[0]>0 Then
				For $j=1 To $blist [0]
					_ArrayAdd ($rlist, $blist [$j])
				Next
			EndIf
		Next
	EndIf
	$rlist [0] = UBound ($rlist) - 1
	Return $rlist
EndFunc
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:47, 24-10-2006 | #419