Advertisement
mtreit

Editing Title metadata on jpeg files in PowerShell

Feb 1st, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $file = $args[0]
  2. $title = $args[1]
  3.  
  4. Add-Type -path "${env:ProgramFiles(x86)}\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\PresentationCore.dll"
  5. $fs = New-Object System.IO.FileStream($file, [System.IO.FileMode]::Open, [System.IO.FileAccess]::Read)
  6. $decoder = New-Object System.Windows.Media.Imaging.JpegBitmapDecoder(
  7.     $fs,
  8.     [System.Windows.Media.Imaging.BitmapCreateOptions]::PreservePixelFormat,
  9.     [System.Windows.Media.Imaging.BitmapCacheOption]::Default)
  10.  
  11. $frame = [System.Windows.Media.Imaging.BitmapFrame]::Create($decoder.Frames[0])
  12. $metadata = [System.Windows.Media.Imaging.BitmapMetadata]$frame.Metadata
  13. $metadata.Title = $title
  14.  
  15. $encoder = New-Object System.Windows.Media.Imaging.JpegBitmapEncoder
  16. $encoder.Frames.Add($frame)
  17. $tempfile = $args[0] + "___temp"
  18. $fsout = New-Object System.IO.FileStream($tempfile, [System.IO.FileMode]::Create, [System.IO.FileAccess]::Write)
  19. $encoder.Save($fsout)
  20. $fsout.Dispose()
  21. $fs.Dispose()
  22.  
  23. copy $tempfile $file
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement