2025-07-02: ExifTool 13.32 is now available
Quote from: Kloomnik on July 06, 2025, 05:18:24 PMI want to concatenate several existing EXIF fields (e.g., Caption, City, State, Country) into that single field.
Loading DB routines from perl5db.pl version 1.80
Editor support available.
Enter h or 'h h' for help, or 'man perldebug' for more help.
IO::Socket::SSL::CODE(0xa037ee6d0)(/usr/share/perl5/vendor_perl/5.40/IO/Socket/SSL.pm:276):
276: INIT { init() }
277: init();
DB<1> n
main::(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:41):
41: my $exifTool = new Image::ExifTool;
DB<1>
main::(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:42):
42: my $geo = My::GeoNames->new(username => USERNAME);
DB<1> b 1125
DB<2> c
main::TzUpdate(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:1125):
1125: my $timestamp_str = $exifTool->GetValue($tag);
DB<2> p $tag
XMP:DateTimeOriginal
DB<3> n
main::TzUpdate(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:1126):
1126: if ($timestamp_str) {
DB<3> p $timestamp_str
2025:06:16 21:41:49-07:00
DB<4> n
main::TzUpdate(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:1129):
1129: if ($timestamp_str =~ /(\d{4}):(\d{2}):(\d{2}) (\d{2}):(\d{2}):(\d{2})/) {
DB<4>
main::TzUpdate(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:1130):
1130: my ($year, $month, $day, $hour, $minute, $second) = ($1, $2, $3, $4, $5, $6);
DB<4>
main::TzUpdate(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:1133):
1133: my $original_dt = DateTime->new(
1134: year => $year,
1135: month => $month,
1136: day => $day,
1137: hour => $hour,
1138: minute => $minute,
1139: second => $second,
1140: time_zone => 'America/Chicago' # Assume Central time
1141: );
DB<4>
main::TzUpdate(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:1144):
1144: $original_dt->set_time_zone($location_timezone);
DB<4>
main::TzUpdate(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:1147):
1147: my $adjusted_timestamp = $original_dt->ymd(':') . ' ' . $original_dt->hms(':') . $original_dt->strftime('%z');
DB<4>
main::TzUpdate(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:1150):
1150: $exifTool->SetNewValue($tag, $adjusted_timestamp);
DB<4> p $adjusted_timestamp
2025:06:16 19:41:49-0700
DB<5> p $tag
XMP:DateTimeOriginal
DB<6> n
main::TzUpdate(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:1154):
1154: $updates = 1; # we'll always update
DB<6>
main::(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:91):
91: if ($unique) {
DB<6>
main::(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:94):
94: if ($updates && !$try) {
DB<6>
main::(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:95):
95: $exifTool->WriteInfo($fn);
DB<6>
main::(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:96):
96: $updates = 0;
DB<6>
main::(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:98):
98: if (defined $geoError) {
DB<6>
main::(/cygdrive/c/Users/Tom/Pictures/Metadata/EXIF/ExifTool/exiftidy.pl:125):
125: exit;
DB<6>
Debugged program terminated. Use q to quit or R to restart,
use o inhibit_exit to avoid stopping after program termination,
S<h q>, S<h R> or S<h o> to get additional info.
DB<6>
$ exiftool -time:all -G1 -a -s pic.jpg
[System] FileModifyDate : 2025:07:06 22:41:13+01:00
[System] FileAccessDate : 2025:07:06 23:09:20+01:00
[System] FileCreateDate : 2025:07:06 20:09:53+01:00
[IFD0] ModifyDate : 2025:06:16 19:41:49-0700
[ExifIFD] DateTimeOriginal : 2025:06:16 19:41:49-0700
[ExifIFD] CreateDate : 2025:06:16 19:41:49-0700
[ExifIFD] OffsetTime : -05:00
[ExifIFD] OffsetTimeOriginal : -05:00
[ExifIFD] OffsetTimeDigitized : -05:00
[Sony] SonyDateTime : 2025:06:16 21:41:49
[GPS] GPSTimeStamp : 04:41:49
[GPS] GPSDateStamp : 2025:06:17
[IFD1] ModifyDate : 2025:06:16 19:41:49-0700
[XMP-exif] DateTimeDigitized : 2025:06:16 19:41:49-07:00
[XMP-exif] DateTimeOriginal : 2025:06:16 21:41:49-07:00
[XMP-exif] GPSDateTime : 2025:06:17 04:41:49Z
[XMP-xmp] ModifyDate : 2025:06:16 21:41:49-07:00
[Composite] GPSDateTime : 2025:06:17 04:41:49Z
Quote from: Tom Cunningham on July 06, 2025, 11:17:06 AMBTW, I am using code generated by Google API.
exiftool.exe -v4 -geosync=+02:00:02 -geotag "C:\Users\Documents\__TRASH\100RICOH\02-07-2025\GGA_ONLY_USB_20250702_183901.log" "-Geotime<DateTimeOriginal" C:\Users\Documents\__TRASH\100RICOH\02-07-2025