/// <summary>
/// Информация о папке.
/// </summary>
/// <param name="onlyDirectory">Если истинно, то информация без файлов.</param>
/// <returns>Инфо о папке и файлах.</returns>
public string[] info(bool onlyDirectory)
{
if (SDirectory.Exists(dname) & dname.Length <= 260)//проверка на существование директории и корректности имени
{
try
{
List <string> _Info = new List <string>(); //создание списка, куда будут заноситься сведения
_Info.Add(Convert.ToString("\nВремя создания дирректории: " + SDirectory.GetCreationTime(dname))); //время создания дирректории
_Info.Add(Convert.ToString("\nВремя последнего изменения дирректории: " + SDirectory.GetLastWriteTime(dname))); //время последнего изменения дирректории
_Info.Add(Convert.ToString("\nВремя последнего обращения к дирректории: " + SDirectory.GetLastAccessTime(dname))); //время последнего обращения к дирректории
_Info.Add(Convert.ToString("\nУровень доступа к дирректории: " + SDirectory.GetAccessControl(dname))); //уровень доступа к дирректории
_Info.Add(Convert.ToString("\nРазмер дирректории: " + SizeDirrecrory(dname))); //размер дирректории
_Info.Add("\nСписок файлов в дирректории: "); //список файлов в дирректории
string[] file = SDirectory.GetFiles(dname); //создание массива строк для имен файлов
if (!onlyDirectory)
{
for (int i = 0; i < file.Length; i++)
{
_Info.Add("\n" + file[i]); //добавление в список имя файла
}
_Info.Add("\nКонец списка файлов."); //объявление о конце операции
return(_Info.ToArray()); //передача информации о папке с файлами
}
return(_Info.ToArray()); //передача информации о папке
}
catch (Exception e) //обработка ислючений для получения информации
{
LogForOperations("Получение информации о папке", e.Message); //запись в лог ошибки (если есть)
throw e;
}
}
else
{
LogForOperations("Получение информации о файле", "папка не существует либо содержит в названии более 260 символов");//запись ошибки в лог, если условие проверки не выполняется
return(null);
}
}