#include <File.au3>
#include <Array.au3>
While 1
If @HOUR = '20' And @MIN = '30' Then
_File_Size_and_Time()
Sleep(65000)
EndIf
Sleep(1000)
WEnd
Func _File_Size_and_Time()
$sDir_Where_Search = 'D:\1' ; папка поиска
$aTemp = _FileDirList($sDir_Where_Search, '*', 1, 1)
$slog1 = 'C:\log1.txt' ; лог1
$slog2 = 'C:\log2.txt' ; лог2
Dim $aFile_and_Time[$aTemp[0] + 1][2] = [[$aTemp[0]]]
For $i = 1 To $aFile_and_Time[0][0]
$aFile_and_Time[$i][0] = $aTemp[$i]
$aFile_and_Time[$i][1] = FileGetTime($aTemp[$i], 1, 1)
Next
_ArraySort($aFile_and_Time, 0, 1, 0, 1)
For $i = 1 To $aFile_and_Time[0][0]
$aTime = FileGetTime($aFile_and_Time[$i][0], 1, 0)
$aFile_and_Time[$i][1] = $aTime[0] & '/' & $aTime[1] & '/' & $aTime[2] & ' ' & $aTime[3] & ':' & $aTime[4] & ':' & $aTime[5]
Next
;_ArrayDisplay($aFile_and_Time)
$To = 100
If $aFile_and_Time[0][0] < $To Then $To = $aFile_and_Time[0][0]
$file = FileOpen($slog1, 2)
For $i = 1 To $To
FileWriteLine($file, $aFile_and_Time[$i][0] & ' ' & $aFile_and_Time[$i][1] & ' ' & @CRLF)
Next
FileClose($file)
Dim $aFile_and_Size[$aTemp[0] + 1][2] = [[$aTemp[0]]]
For $i = 1 To $aFile_and_Time[0][0]
$aFile_and_Size[$i][0] = $aTemp[$i]
$aFile_and_Size[$i][1] = FileGetSize($aTemp[$i])
Next
_ArraySort($aFile_and_Size, 1, 1, 0, 1)
;_ArrayDisplay($aFile_and_Size)
$To = 100
If $aFile_and_Size[0][0] < $To Then $To = $aFile_and_Size[0][0]
$file = FileOpen($slog2, 2)
For $i = 1 To $To
FileWriteLine($file, $aFile_and_Size[$i][0] & ' ' & $aFile_and_Size[$i][1] & ' ' & @CRLF)
Next
FileClose($file)
EndFunc ;==>_File_Size_and_Time
Func _FileDirList($sPath, $sFileMask = "*", $iFlag = 0, $iSubDir = 1, $iSort = 0)
Local $sOutBin, $sOut, $aOut, $aMasks, $sRead, $hDir, $sAttrib, $sFiles
If Not StringInStr(FileGetAttrib($sPath), "D") Then
Return SetError(1, 0, 0)
EndIf
If $iSubDir = 1 Then
$sAttrib &= ' /S'
EndIf
If $iSort = 1 Then
$sAttrib &= ' /O:N'
EndIf
Switch $iFlag
Case 1
$sAttrib &= ' /A-D'
Case 2
$sAttrib &= ' /AD'
Case Else
$sAttrib &= ' /A'
EndSwitch
$sOut = StringToBinary('0' & @CRLF, 2)
$sPath = StringRegExpReplace($sPath, '\\+$', '')
$sFileMask = StringRegExpReplace($sFileMask, '^;+|;+$', '')
$sFileMask = StringRegExpReplace($sFileMask, ';{2,}', ';')
$aMasks = StringSplit($sFileMask, ';')
For $i = 1 To $aMasks[0]
If StringStripWS($aMasks[$i], 8) = "" Then
ContinueLoop
EndIf
$sFiles &= '"' & $sPath & '\' & $aMasks[$i] & '"'
If $i < $aMasks[0] Then
$sFiles &= ';'
EndIf
Next
$hDir = Run(@ComSpec & ' /U /C DIR ' & $sFiles & ' /B' & $sAttrib, @SystemDir, @SW_HIDE, 6)
While ProcessExists($hDir)
$sRead = StdoutRead($hDir, False, True)
If @error Then
ExitLoop
EndIf
If $sRead <> "" Then
$sOut &= $sRead
EndIf
Wend
$aOut = StringRegExp(BinaryToString($sOut, 2), '[^\r\n]+', 3)
If @error Or UBound($aOut) < 2 Then
Return SetError(2, 0, 0)
EndIf
$aOut[0] = UBound($aOut) - 1
Return $aOut
EndFunc ;==>_FileDirList