diff --git a/SynologyCertificateExporter/Services/CertificateExporter.cs b/SynologyCertificateExporter/Services/CertificateExporter.cs index 81e7d2d..658f9a3 100644 --- a/SynologyCertificateExporter/Services/CertificateExporter.cs +++ b/SynologyCertificateExporter/Services/CertificateExporter.cs @@ -43,8 +43,27 @@ namespace SynologyCertificateExporter.Services var cpFrom = _synoDirectory + "/" + certificate.Name + "/" + fileName; var cpTo = exportDirectory + "/" + fileName; - Console.WriteLine($"Copy file from {cpFrom} to {cpTo}"); - File.Copy(cpFrom, cpTo); + if (File.Exists(cpTo)) + { + var cpFromFileInfo = new FileInfo(cpFrom); + var cpToFileInfo = new FileInfo(cpTo); + + if (cpFromFileInfo.CreationTime != cpToFileInfo.CreationTime) + { + Console.WriteLine($"Copy file from {cpFrom} to {cpTo} with overwrite because creationtime changed"); + + File.Copy(cpFrom, cpTo, true); + } + else + { + Console.WriteLine($"Skipping copy from {cpFrom} to {cpTo}"); + } + } + else + { + Console.WriteLine($"Copy file from {cpFrom} to {cpTo}"); + File.Copy(cpFrom, cpTo); + } } } }