Windows10で.jfifになった
Windows10でウェブから画像をダウンロードしたりすると、いつからかJPEG画像の拡張子が.jfifになるようになった。
JPEG画像にメタ情報を追加したものらしいんだが、のちにその追加場を取り込んだ物がJPEGに取込まれたらしいので、結局、JPEGって事なのでは?
拡張子だけ変えればいける
ダウンロードしてしまったファイルに関しては.jfifを.jpegまたは.jpgに変更するだけで問題ないようです。
ただ、毎回手動で変更するのもめんどくさいし、あとから一括処理するツールみたいなのもあるみたいだけどダウンロード時点で拡張子が.jpgになってれば面倒はない。
レジストリの変更
レジストリエディタでHKEY_CLASSES_ROOT\MIME\Database\Content Type\image/jpeg\Extensionをjfifから.jpgにすればダウンロード時点での拡張子が.jpgになる。
管理者のパスワードがわからない
管理者のパスワードがわからない時はPowerShellを使えばできそう。少なくとも管理者ではなく普通に起動したPowerShellで変更する事が出来ました。
PSDriveを作成
まずHKEY_CLASSES_ROOTってのはPSDriveがあらかじめ登録されていないので、自作してやる必要がある。
New-PSDrive -Name "HKCR" -PSProvider "Registry" -Root "HKEY_CLASSES_ROOT"
これで'HKEY_CLASSES_ROOT'がHKCRとして登録される。
Name Used (GB) Free (GB) Provider Root CurrentLocation
---- --------- --------- -------- ---- ---------------
HKCR Registry HKEY_CLASSES_ROOT
レジストリの値を設定する
これでさっきのレジストリのキーの値を変更すればいい。
まず最初に現在の値を確認する
Get-ItemProperty -LiteralPath "HKCR:\MIME\Database\Content Type\image/jpeg" -Name "Extension"
Extension : .jfif
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_CLASSES_ROOT\MIME\Database\Content Type\image\jpeg
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_CLASSES_ROOT\MIME\Database\Content Type
PSChildName : image/jpeg
PSDrive : HKCR
PSProvider : Microsoft.PowerShell.Core\Registry
現在は'.jfif'になっている事がわかったので'.jpg'に変更してみる
Set-ItemProperty -LiteralPath "HKCR:\MIME\Database\Content Type\image/jpeg" -Name "Extension" -Value ".jpg"
もう一度、確認してみる
Get-ItemProperty -LiteralPath "HKCR:\MIME\Database\Content Type\image/jpeg" -Name "Extension"
Extension : .jpg
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_CLASSES_ROOT\MIME\Database\Content Type\image\jpeg
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_CLASSES_ROOT\MIME\Database\Content Type
PSChildName : image/jpeg
PSDrive : HKCR
PSProvider : Microsoft.PowerShell.Core\Registry
どうやら変更に成功したみたい。少なくともここまでUACの昇格は要求されていません。
ブラウザで画像を名前を付けて保存しようとすると以下の画像のようになりました。