Monday, June 9, 2008

Some progress tonight parsing 'exif' output with .Split and .Replace operators. Lee Holmes book is excellent on the use of comparison operators and text parsing. The script below takes text like this:

EXIF tags in 'P1050027.JPG' ('Intel' byte order):
FNumber |f/3.7
Focal Length In 35mm|71

and turns it into CSV delimited fields like this:

P1050027.JPG,f/3.7,71

## ParseExif.ps1
$exif_index = gci *.jpg | %{exif ($_.Name)}

$c = $exif_index | Select-String -pattern "EXIF tag" , FNumber , "Focal Length In 35mm"
$c1 = ("$c").Split( ) | Select-String -pattern JPG , f/ , mm
$c2 = (("$c1").Replace( "'" , "")).Split()

$c3 = (("$c2").Replace( " |" , ",")).Split()

$c4 = (("$c3").Replace( " 35mm|" , ",")).Split()

No comments: