/// <summary> /// Информация о файле. /// </summary> /// <returns>Дата создания, последнего изменения, последнего обращения к файлу, атрибуты файла, доступ к файлу.</returns> public string[] info() { if (SFile.Exists(fname) & fname.Length <= 260)//проверка на существование файла и корректность имени { try { string[] s = new string[1]; s[0] += "\nДата создания файла: " + SFile.GetCreationTime(fname).ToString(); //получение информации даты создания s[0] += "\nДата последнего изменения файла: " + Convert.ToString(SFile.GetLastWriteTime(fname)); //получение информации даты последнего изменения s[0] += "\nДата последнего обращения к файлу: " + Convert.ToString(SFile.GetLastAccessTime(fname)); //получение информации даты последнего обращения к файлу s[0] += "\nАтрибуты файла: " + Convert.ToString(SFile.GetAttributes(fname)); //получение информации атрибутов файла s[0] += "\nДоступ к файлу: " + Convert.ToString(SFile.GetAccessControl(fname)); //получение информации доступа к файлу return(s); } catch (Exception e) //обработка исключений для получения информации { LogForOperations("Информация о файле", e.Message); //запись в лог ошибки (если есть) throw e; } } else { LogForOperations("Получение информации о файле", "файл не существует либо содержит в своем имени более 260 символов");//запись ошибки в лог, если не выполняется условие проверки return(null); } }
public IActionResult Delete() { var upload = Path.Combine(_env.WebRootPath, _uploadDir); var listFile = Directory.GetFiles(upload); if (listFile.Length != 0 && Directory.Exists(upload)) { foreach (var item in listFile) { if ((DateTime.Now.Subtract(FileIO.GetCreationTime(item)).TotalDays > 1 ? true : false)) { FileIO.Delete(item); } } } return(Json(new OkResult())); }
public static System.DateTime GetCreationTime(string path) => MSIOF.GetCreationTime(path);
public string GetCreatedDate(string format = "M-d-yy") { return(SystemFile.GetCreationTime(this.path).ToString(format)); }
public static DateTime GetCreationTime(string path) { return(File.GetCreationTime(path)); }
public override DateTime GetCreationTime(string path) { return(File.GetCreationTime(path)); }
void IterateAndModifyFilesData(DefaultWatcherData data, string directory, bool dispatch, string[] files) { /* Set all as untested */ foreach (string filename in data.Files.Keys) { FileData fd = (FileData)data.Files [filename]; if (fd.Directory == directory) { fd.NotExists = true; } } /* New files */ foreach (string filename in files) { FileData fd = (FileData)data.Files [filename]; if (fd == null) { try { data.Files.Add(filename, CreateFileData(directory, filename)); } catch { // The file might have been removed in the meanwhile data.Files.Remove(filename); continue; } if (dispatch) { DispatchEvents(data.FSW, FileAction.Added, filename); } } else if (fd.Directory == directory) { fd.NotExists = false; } } if (!dispatch) // We only initialize the file list { return; } /* Removed files */ List <string> removed = null; foreach (string filename in data.Files.Keys) { FileData fd = (FileData)data.Files [filename]; if (fd.NotExists) { if (removed == null) { removed = new List <string> (); } removed.Add(filename); DispatchEvents(data.FSW, FileAction.Removed, filename); } } if (removed != null) { foreach (string filename in removed) { data.Files.Remove(filename); } removed = null; } /* Changed files */ foreach (string filename in data.Files.Keys) { FileData fd = (FileData)data.Files [filename]; DateTime creation, write; try { creation = File.GetCreationTime(filename); write = File.GetLastWriteTime(filename); } catch { /* Deleted */ if (removed == null) { removed = new List <string> (); } removed.Add(filename); DispatchEvents(data.FSW, FileAction.Removed, filename); continue; } if (creation != fd.CreationTime || write != fd.LastWriteTime) { fd.CreationTime = creation; fd.LastWriteTime = write; DispatchEvents(data.FSW, FileAction.Modified, filename); } } if (removed != null) { foreach (string filename in removed) { data.Files.Remove(filename); } } }
private void DoFiles(DefaultWatcherData data, string directory, bool dispatch) { bool flag = Directory.Exists(directory); if (flag && data.IncludeSubdirs) { string[] directories = Directory.GetDirectories(directory); foreach (string directory2 in directories) { DoFiles(data, directory2, dispatch); } } string[] array = null; array = ((!flag) ? NoStringsArray : ((!data.NoWildcards) ? Directory.GetFileSystemEntries(directory, data.FileMask) : ((!File.Exists(data.FileMask) && !Directory.Exists(data.FileMask)) ? NoStringsArray : new string[1] { data.FileMask }))); foreach (string key4 in data.Files.Keys) { FileData fileData = (FileData)data.Files[key4]; if (fileData.Directory == directory) { fileData.NotExists = true; } } string[] array2 = array; foreach (string text in array2) { FileData fileData2 = (FileData)data.Files[text]; if (fileData2 == null) { try { data.Files.Add(text, CreateFileData(directory, text)); } catch { data.Files.Remove(text); continue; IL_0185 :; } if (dispatch) { DispatchEvents(data.FSW, FileAction.Added, text); } } else if (fileData2.Directory == directory) { fileData2.NotExists = false; } } if (dispatch) { ArrayList arrayList = null; foreach (string key5 in data.Files.Keys) { FileData fileData3 = (FileData)data.Files[key5]; if (fileData3.NotExists) { if (arrayList == null) { arrayList = new ArrayList(); } arrayList.Add(key5); DispatchEvents(data.FSW, FileAction.Removed, key5); } } if (arrayList != null) { foreach (string item in arrayList) { data.Files.Remove(item); } arrayList = null; } foreach (string key6 in data.Files.Keys) { FileData fileData4 = (FileData)data.Files[key6]; DateTime creationTime; DateTime lastWriteTime; try { creationTime = File.GetCreationTime(key6); lastWriteTime = File.GetLastWriteTime(key6); } catch { if (arrayList == null) { arrayList = new ArrayList(); } arrayList.Add(key6); DispatchEvents(data.FSW, FileAction.Removed, key6); continue; IL_0340 :; } if (creationTime != fileData4.CreationTime || lastWriteTime != fileData4.LastWriteTime) { fileData4.CreationTime = creationTime; fileData4.LastWriteTime = lastWriteTime; DispatchEvents(data.FSW, FileAction.Modified, key6); } } if (arrayList != null) { foreach (string item2 in arrayList) { data.Files.Remove(item2); } } } }
void DoFiles(DefaultWatcherData data, string directory, bool dispatch) { bool direxists = Directory.Exists(directory); if (direxists && data.IncludeSubdirs) { foreach (string d in Directory.GetDirectories(directory)) { DoFiles(data, d, dispatch); } } string [] files = null; if (!direxists) { files = NoStringsArray; } else if (!data.NoWildcards) { files = Directory.GetFileSystemEntries(directory, data.FileMask); } else { // The pattern does not have wildcards if (File.Exists(data.FileMask) || Directory.Exists(data.FileMask)) { files = new string [] { data.FileMask } } ; else { files = NoStringsArray; } } /* Set all as untested */ foreach (string filename in data.Files.Keys) { FileData fd = (FileData)data.Files [filename]; if (fd.Directory == directory) { fd.NotExists = true; } } /* New files */ foreach (string filename in files) { FileData fd = (FileData)data.Files [filename]; if (fd == null) { try { data.Files.Add(filename, CreateFileData(directory, filename)); } catch { // The file might have been removed in the meanwhile data.Files.Remove(filename); continue; } if (dispatch) { DispatchEvents(data.FSW, FileAction.Added, filename); } } else if (fd.Directory == directory) { fd.NotExists = false; } } if (!dispatch) // We only initialize the file list { return; } /* Removed files */ ArrayList removed = null; foreach (string filename in data.Files.Keys) { FileData fd = (FileData)data.Files [filename]; if (fd.NotExists) { if (removed == null) { removed = new ArrayList(); } removed.Add(filename); DispatchEvents(data.FSW, FileAction.Removed, filename); } } if (removed != null) { foreach (string filename in removed) { data.Files.Remove(filename); } removed = null; } /* Changed files */ foreach (string filename in data.Files.Keys) { FileData fd = (FileData)data.Files [filename]; DateTime creation, write; try { creation = File.GetCreationTime(filename); write = File.GetLastWriteTime(filename); } catch { /* Deleted */ if (removed == null) { removed = new ArrayList(); } removed.Add(filename); DispatchEvents(data.FSW, FileAction.Removed, filename); continue; } if (creation != fd.CreationTime || write != fd.LastWriteTime) { fd.CreationTime = creation; fd.LastWriteTime = write; DispatchEvents(data.FSW, FileAction.Modified, filename); } } if (removed != null) { foreach (string filename in removed) { data.Files.Remove(filename); } } }