This might be an obscure bug - I expect the use of -W+ to have the same effect as redirecting STDOUT to a file - but there appear to be some file types (an example is the Canon CR3) where this doesn't always happen in combination with the verbose switch (-v3).
Examples:
exiftool -v3 IMG_0444.CR3 -W+ verbose.txt
gives the following output:
| 1d4ba06: 00 00 00 01 00 00 [......]
| 1d4ba1e: 00 00 00 01 ff ff [......]
| 1d4ba2e: 00 00 00 01 ff ff [......]
| 1d4ba46: 00 00 00 01 ff ff [......]
| 1d4ba6e: 01 01 00 01 ff ff [......]
| 1d4d20a: 01 01 01 01 ff ff [......]
| 1d67340: 01 01 02 01 ff ff [......]
0 output files created
1 output files appended
Whereas:
exiftool -v3 IMG_0444.CR3 > verbose1.txt
As expected this writes nothing at all to the display.
Running diff on the output files gives me:
2115a2116
> | 1d4ba06: 00 00 00 01 00 00 [......]
2119a2121
> | 1d4ba1e: 00 00 00 01 ff ff [......]
2121a2124
> | 1d4ba2e: 00 00 00 01 ff ff [......]
2129a2133
> | 1d4ba46: 00 00 00 01 ff ff [......]
2144a2149
> | 1d4ba6e: 01 01 00 01 ff ff [......]
2602a2608
> | 1d4d20a: 01 01 01 01 ff ff [......]
2726a2733
> | 1d67340: 01 01 02 01 ff ff [......]
And using grep to locate the problem:
grep -C5 1d67340 verb*
verbose1.txt-| | | | + [BinaryData directory, 4608 bytes]
verbose1.txt-| | | | 3) Canon_0x404b = 65535 65535
verbose1.txt-| | | | - Tag 0x404b (4 bytes, int16u[2]):
verbose1.txt-| | | | 1d4d24e: ff ff ff ff [....]
verbose1.txt-+ [CTMD type 9 directory, 4140 bytes]
verbose1.txt:| 1d67340: 01 01 02 01 ff ff [......]
verbose1.txt-| ExifInfo9 (SubDirectory) -->
verbose1.txt-| - Tag 0x0009 (4134 bytes):
verbose1.txt-| 1d67346: 26 10 00 00 7c 92 00 00 49 49 2a 00 08 00 00 00 [&...|...II*.....]
verbose1.txt-| 1d67356: 05 00 15 40 07 00 dc 05 00 00 46 00 00 00 33 40 [...@......F...3@]
verbose1.txt-| 1d67366: 07 00 20 03 00 00 22 06 00 00 2e 40 07 00 f4 01 [.. ..."....@....]
It seems to always be the line after the start of the CTMD directory that does not get written to the file.
Great, thanks!
This will be fixed in 13.01
There are a few other places for CBOR metadata where this was fixed too,
- Phil