private DateTime?getDateTimeOriginal(FileInfo imageFile) { ExifToolWrapper exifTool = new ExifToolWrapper(); ExifToolResponse jsonExifToolOutput = exifTool.execute(" -j -m -q -DateTimeOriginal", imageFile); return(jsonExifToolOutput.DateTimeOriginal); }
public void copyDateCreatedToDateTimeOriginal() { IXmpMeta xmpMeta; using (var fileStream = File.OpenRead(XmpFile.FullName)) { xmpMeta = XmpMetaFactory.Parse(fileStream); if (xmpMeta.DoesPropertyExist("http://ns.adobe.com/photoshop/1.0/", "photoshop:DateCreated")) { IXmpDateTime xmpMetaCreateDate = xmpMeta.GetPropertyDate("http://ns.adobe.com/photoshop/1.0/", "photoshop:DateCreated"); List <FileInfo> correspondingImageFiles = this.getCorrespondingImageFile(); foreach (FileInfo correspondingImageFile in correspondingImageFiles) { DateTime?DateTimeOriginal = this.getDateTimeOriginal(correspondingImageFile); if (DateTimeOriginal == null) { ExifToolWrapper exifTool = new ExifToolWrapper(); ExifToolResponse jsonExifToolOutput = exifTool.execute(string.Concat("-m -S -overwrite_original \"-DateTimeOriginal=", xmpMetaCreateDate.ToIso8601String(), "\""), correspondingImageFile); } else { Program.MainLogger.Information($"DateTimeOriginal TAG in file {correspondingImageFile} already set to {DateTimeOriginal}"); } } } else { Program.MainLogger.Information($"Cant't find 'photoshop:DateCreated' property in namespace 'http://ns.adobe.com/photoshop/1.0/'"); } } }