text output with each RegionPersonDisplayName on one line

Started by Iwonder, Today at 06:24:48 AM

Previous topic - Next topic

Iwonder

Hello !
I am sorry to come back again...
I am going to explain the subject :
I have photos with up to 18 RegionPersonDisplayName tags per image.
I'd like a text output showing this :
FileName01 Title RegionPersonDisplayName#1
FileName01 Title RegionPersonDisplayName#2
FileName01 Title RegionPersonDisplayName#3
FileName02 Title RegionPersonDisplayName#1
FileName03 Title RegionPersonDisplayName#1

I can't find out how to get this
Thank you for reading.


Iwonder

maybe there is no best way other than :

exiftool.exe -T -L -listItem 0 -RegionPersonDisplayName -Filename -Title *.jpg > out.txt
exiftool.exe -T -L -listItem 1 -RegionPersonDisplayName -Filename -Title *.jpg >>  out.txt
exiftool.exe -T -L -listItem 2 -RegionPersonDisplayName -Filename -Title *.jpg >> out.txt
...
exiftool.exe -T -L -listItem 18 -RegionPersonDisplayName -Filename -Title *.jpg >> out.txt

and then sorting ?

StarGeek

I can't think of a way to do this.  It would probably be easier to split RegionPersonDisplayName in a spreadsheet and then copy/paste the Filename/Title to cover the empty rows.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

Phil Harvey

How about this?:

exiftool -p my.args DIR > out.txt

with this my.args file:

$filename $title ${regionpersondisplayname;$_=(split /, /)[0]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[1]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[2]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[3]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[4]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[5]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[6]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[7]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[8]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[9]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[10]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[11]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[12]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[13]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[14]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[15]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[16]}
$filename $title ${regionpersondisplayname;$_=(split /, /)[17]}

- 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 ($).