/// <summary> /// Crée une copie de sauvegarde du fichier spécifié. /// Les dates de création/modification restent inchangées. /// </summary> /// <param name="fileName">Nom du fichier à sauvegarder</param> /// <param name="copyFileName">Nom de la copie</param> public static void BackupFile(string fileName, string copyFileName) { try { // Vérifications if (fileName == null || copyFileName == null || fileName.Equals(copyFileName)) { throw new Exception(_ERROR_BACKUP_PARAMS); } // Copie avec préservation de la date de modification FileInfo sourceInfo = new FileInfo(fileName); DateTime modDate = sourceInfo.LastWriteTime; File.Copy(fileName, copyFileName, true); File2.RemoveAttribute(copyFileName, FileAttributes.ReadOnly); new FileInfo(copyFileName) { LastWriteTime = modDate }; File2.AddAttribute(copyFileName, FileAttributes.ReadOnly); } catch (Exception ex) { string errorMessage = string.Format(_ERROR_BACKUP, fileName, copyFileName); throw new Exception(errorMessage, ex); } }