#include <File.au3>
#include <Array.au3>
#include <Excel.au3>
#include <Array.au3> ; Temporary
Global $sSTDCatalog = @ScriptDir & '\Standard' ; Здесь лежат "эталонные" файлы
Global $sFilesCatalog = @ScriptDir & '\Files' ; Здесь находятся каталоги с файлами "CassaNN"
Global $oExcel
Global $aDataSTD[1][2] ; Объявляем массив в который будут добавлены названия и размеры "стандартных" файлов
$aDataSTD[0][0] = 'Название файла'
$aDataSTD[0][1] = 'Эталонный размер'
$aFileListSTD = _FileListToArray($sSTDCatalog, '*.txt', 1) ; Получаем список файлов в STD-каталоге
$count = UBound($aFileListSTD) - 1
ReDim $aDataSTD[$count + 1][2] ; Увеличим размерность массива на количество файлов в каталоге
For $i = 1 To $count
$sizeSTD = FileGetSize($sSTDCatalog & '\' & $aFileListSTD[$i])
$aDataSTD[$i][0] = $aFileListSTD[$i]
$aDataSTD[$i][1] = $sizeSTD & ' byte'
Next
;_ArrayDisplay($aDataSTD)
Global $aFileListInCat, $sizeCat
Global $aCatList = _FileListToArray($sFilesCatalog, '*', 2) ; Получаем список каталогов "CassaNN"
$num = UBound($aCatList) - 1
Dim $aCatalog[$num + 1][2] ; Объявим вспомогательный массив с именами каталогов, где [0][0]-элемент содержит кол-во каталогов
$oExcel = _ExcelBookNew()
For $i = 0 To $num
$aCatalog[$i][0] = $aCatList[$i] ; Заполнение массива
_ExcelWriteCell($oExcel, $aCatList[$i], 1, $i + 3)
Next
;_ArrayDisplay($aCatalog)
Global $iColsStart = 4
Global $iFileSize ; Переменная - размер файла
Global $aFileListInCat ; Переменная(массив), где [0]-элемент содержит кол-во файлов в каталоге
For $i = 1 To $aCatalog[0][0] ; Крутим цикл столько раз, сколько элементов в массиве $aCatalog
$aFileListInCat = _FileListToArray($sFilesCatalog & '\' & $aCatalog[$i][0], '*.txt', 1)
;If @error Then ContinueLoop
If @error Then
$aCatalog[$i][1] = 0
Else
$aCatalog[$i][1] = $aFileListInCat[0]
EndIf
For $j = 1 To $aCatalog[$i][1] ; Крутим цикл столько раз, сколько файлов в текущем каталоге
$iFileSize = FileGetSize($sFilesCatalog & '\' & $aCatalog[$i][0] & '\' & $aFileListInCat[$j])
;ConsoleWrite($sFilesCatalog & '\' & $aCatalog[$i][0] & '\' & $aFileListInCat[$j] & ' : ' & $iFileSize & ' byte' & @CRLF)
_ExcelWriteCell($oExcel, $iFileSize & ' byte', $j + 1, $iColsStart) ; Записываем размеры файлов, начиная с 4-го столбца Excel-файла
Next
$iColsStart += 1 ; Переходим на след. столбец Excel-файла
Next
_ExcelWriteSheetFromArray($oExcel, $aDataSTD, 1, 1, 0, 0) ; Записываем размеры "стандартных" файлов
_ExcelColumnDelete($oExcel, 3) ; Удаляем служебный столбец (лишний)
_ExcelFontSetProperties($oExcel, 1, 1, 1, $aCatalog[0][0] + 2, True, False, False) ; Шрифт 1-й строки
_ExcelBookSaveAs($oExcel, @ScriptDir & '\Cassa.xls', 'xls', 0, 1) ; Сохраняем файл