Copy tags fm files fm dir1 to same name files in dir2 -r

Started by stanje1, October 26, 2022, 09:46:56 AM

Previous topic - Next topic

stanje1

I have set of jpgs in one directory, with sub-directories, with some tags set, I have a second directory with exact same file names and sub-directories with those tags not populated (diff resolution pics).  I would like to copy the selected tags from all the files in source directory structure to the equivalent files in second directory.   I am on Win 11, EXIFTOOL cmd line ver. 12.4.9.0.

Dir1/Sub1(multiple subs)/File1xx.jpg etc
Dir2/Sub1(multiple subs)/File1xx.jpg etc

Closest I come is the following but I cannot get it to go to the output files... syntax for output directory wrong?  It duplicates/appends the input source directory in beginning of the output string?

exiftool -tagsfromfile inexif/%d%f.jpg -ImageDescription -Caption-Abstract -Description -r outexif

Errors...
Warning: Error opening file - inexif/outexif/Album_2010/D10012_Flowers_Mar19/D10012_Flowers_Mar19_040.jpg
Warning: Error opening file - inexif/outexif/Album_2010/D10012_Flowers_Mar19/D10012_Flowers_Mar19_041.jpg
.....
Warning: Error opening file - inexif/outexif/Album_2010/D10015_Flowers_Mar26/D10015_Flowers_Mar26_037.jpg
Warning: Error opening file - inexif/outexif/Album_2010/D10015_Flowers_Mar26/D10015_Flowers_Mar26_038.jpg
.....
    4 directories scanned
    0 image files updated
  105 image files unchanged

Sorry if I could not find this answer anywhere !

StarGeek

You need to edit the %d variable.  The value of that is always the directory for the file that is being processed.  Since the files is in the "outexif" directory, that will be part of the %d variable.

The docs for editing the %d variable are listed under the -w (-TextOut) option under Advanced features.  I think you want to use %:1d, which removes the top level directory.  So using inexif/%:1d will keep the directory structure below "outexif" and look for the source files with that directory path in the "inexif" directory.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype

stanje1

ok.. still a problem with syntax, but read the advanced -w (-TextOut) and figuired it out, see below...

First tried:
exiftool -tagsfromfile inexif/%:1d -ImageDescription -Caption-Abstract -Description -r outexif
and got these errors... is it not going down to within the subfolders...
The inexif jpg files do have the target metadata fields populated

>>>>>>>
C:\Users\joest\Desktop>exiftool -tagsfromfile inexif/%:1d -ImageDescription -Caption-Abstract -Description -r outexif

Warning: No writable tags set from inexif/Album_2010/D10012_Flowers_Mar19/
Warning: No writable tags set from inexif/Album_2010/D10012_Flowers_Mar19/
Warning: No writable tags set from inexif/Album_2010/D10012_Flowers_Mar19/
.......
Warning: No writable tags set from inexif/Album_2010/D10015_Flowers_Mar26/
Warning: No writable tags set from inexif/Album_2010/D10015_Flowers_Mar26/
Warning: No writable tags set from inexif/Album_2010/D10015_Flowers_Mar26/
    4 directories scanned
    0 image files updated
  105 image files unchanged
>>>>>>

After reading notes and looking at it, decided I simply need to re-add the file level and extension.... got some different errors on some of the file contents(?) and some legitimate no tag data files, but seems to work.  I did expect maybe _original files, but it actually overwrote the output files, which is fine.

This worked... thank you !!!

>>>>>>>
C:\Users\joest\Desktop>exiftool -tagsfromfile inexif/%:1d%f.jpg -ImageDescription -Caption-Abstract -Description -r outexif
Warning: [minor] Adjusted MakerNotes base by 70 - outexif/Album_2010/D10012_Flowers_Mar19/D10012_Flowers_Mar19_001.JPG
Warning: [minor] Adjusted MakerNotes base by 70 - outexif/Album_2010/D10012_Flowers_Mar19/D10012_Flowers_Mar19_003.JPG
Warning: [minor] Adjusted MakerNotes base by 70 - outexif/Album_2010/D10012_Flowers_Mar19/D10012_Flowers_Mar19_026.JPG
Warning: [minor] Adjusted MakerNotes base by 70 - outexif/Album_2010/D10012_Flowers_Mar19/D10012_Flowers_Mar19_027.JPG
Warning: [minor] Adjusted MakerNotes base by 70 - outexif/Album_2010/D10012_Flowers_Mar19/D10012_Flowers_Mar19_029.JPG
Warning: [minor] Adjusted MakerNotes base by 70 - outexif/Album_2010/D10012_Flowers_Mar19/D10012_Flowers_Mar19_031.JPG
Warning: [minor] Adjusted MakerNotes base by 70 - outexif/Album_2010/D10012_Flowers_Mar19/D10012_Flowers_Mar19_032.JPG
Warning: [minor] Adjusted MakerNotes base by 70 - outexif/Album_2010/D10012_Flowers_Mar19/D10012_Flowers_Mar19_033.JPG
Warning: [minor] Adjusted MakerNotes base by 70 - outexif/Album_2010/D10012_Flowers_Mar19/D10012_Flowers_Mar19_035.JPG
Warning: [minor] Adjusted MakerNotes base by 70 - outexif/Album_2010/D10012_Flowers_Mar19/D10012_Flowers_Mar19_036.JPG
Warning: [minor] Adjusted MakerNotes base by 70 - outexif/Album_2010/D10012_Flowers_Mar19/D10012_Flowers_Mar19_057.JPG
Warning: [minor] Adjusted MakerNotes base by 70 - outexif/Album_2010/D10012_Flowers_Mar19/D10012_Flowers_Mar19_058.JPG
Warning: [minor] Adjusted MakerNotes base by 70 - outexif/Album_2010/D10015_Flowers_Mar26/D10015_Flowers_Mar26_008.JPG
Warning: [minor] Adjusted MakerNotes base by 70 - outexif/Album_2010/D10015_Flowers_Mar26/D10015_Flowers_Mar26_012.JPG
Warning: Error opening file - inexif/Album_2010/D10015_Flowers_Mar26/D10015_Flowers_Mar26_022.jpg
Warning: [minor] Adjusted MakerNotes base by 70 - outexif/Album_2010/D10015_Flowers_Mar26/D10015_Flowers_Mar26_024.JPG
Warning: No writable tags set from inexif/Album_2010/D10015_Flowers_Mar26/D10015_Flowers_Mar26_035.jpg
Warning: No writable tags set from inexif/Album_2010/D10015_Flowers_Mar26/D10015_Flowers_Mar26_036.jpg
Warning: No writable tags set from inexif/Album_2010/D10015_Flowers_Mar26/D10015_Flowers_Mar26_037.jpg
Warning: No writable tags set from inexif/Album_2010/D10015_Flowers_Mar26/D10015_Flowers_Mar26_038.jpg
Warning: No writable tags set from inexif/Album_2010/D10015_Flowers_Mar26/D10015_Flowers_Mar26_039.jpg
    4 directories scanned
   99 image files updated
    6 image files unchanged
>>>>>>>

Phil Harvey

Quote from: stanje1 on October 26, 2022, 07:11:44 PMI did expect maybe _original files, but it actually overwrote the output files, which is fine.

ExifTool won't overwrite the original files unless you specify -overwrite_original or -overwrite_original_in_place.

Something else must be going on here.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

stanje1


stanje1

okay.. I still do not get directory commands for this recursive tagsfromfile.  My simple example / test with two folders at the same level works, but now I am trying on real files and I cannot figure how to get it to different structures.  I have tried various starting levels of directories and various %:1d, %:3d or %1:2d etc etc.   The best I can do is CD to the working starting directory and then specify an absolute output path... but it still appends the input last directory to the string.  I am still missing something on this syntax?

My structure:
Input Folders:  D:Archive-Pictures/Albums/Album_2010-2018/Album_2010/subfolder1, subfolder2, subfolder3 etc etc
Output Folders: D:Archive-Pictures/Tif_Archive_2005-2010/Tif_Archive_2010/subfolder1, subfolder2, subfolder3 etc etc

Last try:
cmd /k
D:
cd Archive-Pictures/Albums/Album_2010-2018
exiftool -tagsfromfile Album_2010/%:1d%f.jpg -ImageDescription -Caption-Abstract -Description -r D:/Archive-Pictures/Tif_Archive_2005-2010/Tif_Archive_2010

I get, for example:
Warning: Error opening file - Album_2010/Archive-Pictures/Tif_Archive_2005-2010/Tif_Archive_2010/D10059_July4th/D10059_July4th_008.jpg

What am I missing?
Thanks from a Newbie !


StarGeek

Remember that the %d variable is the directory of the file that is being edited. So the file being edited according to your error would be
D:/Archive-Pictures/Tif_Archive_2005-2010/Tif_Archive_2010/D10059_July4th/D10059_July4th_008.tif

So that means you need to remove the top 4 directory levels so you only have subdirectories below Tif_Archive_2010.  That would be %:4d

Then, you have to make sure to replace those top 4 levels with the path to the source files.  In this case, D:/Archive-Pictures/Albums/Album_2010-2018/Album_2010/.  This would give
-tagsfromfile D:/Archive-Pictures/Albums/Album_2010-2018/Album_2010/%:4d%f.jpg

Note, I don't have time to completely test this, but I think this is what you want.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype

stanje1

Thank you !!
Worked. 
Used this, as you said:
cmd /k
D:
exiftool -tagsfromfile D:/Archive-Pictures/Albums/Album_2010-2018/Album_2010/%:4d%f.jpg -ImageDescription -Caption-Abstract -Description -r D:/Archive-Pictures/Tif_Archive_2005-2010/Tif_Archive_2010

Got this (net, less files without the tags set that were specified):
  116 directories scanned
 2224 image files updated
 5595 image files unchanged

Thank you, thank you !
Now, off to do 10 years worth !