ExifTool Forum

General => Metadata => Topic started by: sunny123 on July 18, 2023, 09:38:08 PM

Title: Copying metadata from one file to another[Windows specific metadata]@
Post by: sunny123 on July 18, 2023, 09:38:08 PM
I just picked up using exiftool today so apologies if I am making a redundant post.

I have two images, A.jpg and B.jpg.  A.jpg is a regular 4k image and B.jpg is an upscaled 15k image.
While upscaling the image, original metadata such as GPS and camera information is lost.
And I wanted to copy all original metadata to the upscaled image (those that I see on [file]-[properties]-[details]: description, origin, image, advanced photo, gps and file)

So I tried these commands and some variations (Windows 11):
exiftool -all:all -tagsfromfile SOURCE_FILE -all:all -unsafe -overwrite_original TARGET_FILE
exiftool -tagsfromfile SOURCE_FILE -exif TARGET_FILE

All worked fine and metadata by viewing exiftool was all good.
But when checking the image file [Properties]-[Details] nothing was updated (Windows 11).
And the problem is the software I am using reads file's Windows-specific metadata fields.

Any suggestion on what I can do to completely overwrite the original metadata and property update in Windows-specific metadata?

The sample image set is attached (they are from Pix4D sample data).
Note: image B is over 200MB (about 18k image)

Image A: https://drive.google.com/file/d/1be2tZU1A4J62BCvS_Zbhugo0r6I5do_j/view?usp=sharing
Image B:https://drive.google.com/file/d/1_JJSk9xxYKFrCgr4hZKw3E7iOChhIWR6/view?usp=sharing

Thank you!
Title: Re: Copying metadata from one file to another[Windows specific metadata]@
Post by: StarGeek on July 19, 2023, 02:57:28 AM
Your second image is a PNG file.  Windows doesn't read any metadata from PNG files at all except for the the PNG:CreationTime tag, which it uses to fill the "Date Taken" property.

See this post (https://exiftool.org/forum/index.php?topic=6591.0) for what tags Windows will read and the properties it will fill.

Windows does support TIFF files and it's a lossless operation to convert a PNG to a TIFF as long as you don't choose jpeg compression.  For example, this is the save options dialog for TIFF files in Irfanview.  I believe the jpeg option is the only lossy options and the others are lossless. 
(https://i.imgur.com/tF2zVM0.png)

Here's the Windows properties after I copy from the jpg to the tiff with -All:All
(https://i.imgur.com/PqUP3sw.png)(https://i.imgur.com/fDTE8Xr.png)
Title: Re: Copying metadata from one file to another[Windows specific metadata]@
Post by: sunny123 on July 19, 2023, 10:22:34 PM
Thank you so much StarGeek!

Didn't know much about file types.
I used simple Python code to transform all PNGs to TIF and everything seems to be working. 8)
Title: Re: Copying metadata from one file to another[Windows specific metadata]@
Post by: sunny123 on July 19, 2023, 10:44:36 PM
By the way below is the command I am using to copy all metadata.
How would I change this so I can process all images in two different folders?

exiftool -tagsfromfile SOURCE_FILE -all:all TARGET_FILE
Title: Re: Copying metadata from one file to another[Windows specific metadata]@
Post by: Phil Harvey on July 21, 2023, 10:44:08 AM
Just put the folder names on the command line in place of TARGET_FILE.  But it would be unusual to want to do this from a single source file.  For copying from different source files, use %d %f and %e in the source file name to represent the directory, filename and extension of the target file.

- Phil
Title: Re: Copying metadata from one file to another[Windows specific metadata]@
Post by: StarGeek on July 24, 2023, 09:57:03 AM
If the tiff files are in the same directory as the jpegs, then the command would be something like this.  Replace /path/to/files/ with the actual path to the tiffs.

exiftool -ext tiff -ext tif -tagsfromfile %d%f.jpg -all:all /path/to/files/

I added the -ext (-extension) option (https://exiftool.org/exiftool_pod.html#ext-EXT---ext-EXT--extension) so that exiftool will only process the tiff files.  You don't want to waste time copying the jpeg data back into the same jpeg.