/// <summary> /// Информация о папке. /// </summary> /// <returns>Время создания дирректории, последнего изменения дирректории, последнего обращения к дирректории, уровень доступа к дирректории, размер дирректории, список файлов в дирректории.</returns> public string[] info() { 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); //создание массива строк для имен файлов for (int i = 0; i < file.Length; i++) { _Info.Add("\n" + file[i]); //добавление в список имя файла } _Info.Add("\nКонец списка файлов."); //объявление о конце операции return(_Info.ToArray()); //передача файла } catch (Exception e) //обработка ислючений для получения информации { LogForOperations("Получение информации о папке", e.Message); //запись в лог ошибки (если есть) throw e; } } else { LogForOperations("Получение информации о файле", "папка не существует либо содержит в названии более 260 символов");//запись ошибки в лог, если условие проверки не выполняется return(null); } }
/// <summary> /// Gets the DirectorySecurity object for the directory specified by the supplied path. /// </summary> /// <param name="path">The path to the directory to retrieve the security object for.</param> /// <returns>The security object for the directory specified. Null if the directory does not exist, /// an I/O Error occurred, the current operating system is not Windows 2000 or later, /// the path specified is read-only, or the process does not have permission to complete the operation.</returns> static public DirectorySecurity GetSecurityObject(string path) { // Check that a path is supplied. if (!string.IsNullOrEmpty(path)) { // A path is supplied. // Check whether the directory exits. if (SystemDirectory.Exists(path)) { // The directory exists. try { return(SystemDirectory.GetAccessControl(path)); } catch (IOException) { // An I/O error occurred while opening the directory. return(null); } catch (PlatformNotSupportedException) { // The current operating system is not Windows 2000 or later. return(null); } catch (UnauthorizedAccessException) { // The path parameter specified a directory that is read-only. // Or this operation is not supported on the current platform. // Or the caller does not have the required permission. return(null); } } else { // The directory does not exist. return(null); } } else { // A path was not supplied. return(null); } }
public DirectorySecurity GetAccessControl(AccessControlSections includeSections) { return(Directory.GetAccessControl(FullPath, includeSections)); }
public DirectorySecurity GetAccessControl() { return(Directory.GetAccessControl(FullPath, AccessControlSections.Access | AccessControlSections.Owner | AccessControlSections.Group)); }
public DirectorySecurity GetAccessControl() { return(Directory.GetAccessControl(FullPath)); }
public override DirectorySecurity GetAccessControl(string path, AccessControlSections includeSections) { return(Directory.GetAccessControl(path, includeSections)); }
public override DirectorySecurity GetAccessControl(string path) { return(Directory.GetAccessControl(path)); }