Forum Discussion
Windows 10でiPhoneのHEIC写真を一括でJPEGに変換したい
まず、重要な前提があります。PowerShellだけではHEICファイルを直接JPEGに変換できません。なぜなら、Windowsに標準搭載されているPowerShellには、HEIC形式をデコードするためのコーデックやライブラリが組み込まれていないからです。
つまり、HEIC JPEG 一括変換 Windows を実現するには、PowerShellと外部の変換エンジンを組み合わせる必要があります。
方法1:外部コマンドラインツールを使う(最も実用的)
最も安定して HEIC JPEG 一括変換 Windows を実行できる方法は、HEIC変換に対応した外部コマンドラインツールをインストールし、その実行ファイルをPowerShellから呼び出すことです。
手順
1. 適切な外部ツールをインストールする
HEIC→JPEG変換に対応したコマンドラインベースのツールを、公式サイトやパッケージマネージャーから入手してインストールします。インストール時に、HEIC形式をサポートするオプションが有効になっていることを確認してください。
2. PowerShellスクリプト例(フォルダ内のすべてのHEICをJPEGに変換)
powershell
# 変換対象のフォルダを指定(例:デスクトップの "HEIC" フォルダ)
$folder = "$env:USERPROFILE\Desktop\HEIC"
Get-ChildItem -Path $folder -Filter "*.heic" | ForEach-Object {
$output = [System.IO.Path]:: ChangeExtension($_.FullName, ".jpg")
# ここに外部ツールの実行コマンドを記述(例:toolname input. heic output. jpg)
toolname $_.FullName $output
}
Write-Host "HEIC JPEG 一括変換 Windows が完了しました。"
方法2:Windows標準のWIC を利用する(複雑)
Windows 10/11には、HEIC画像をデコードするネイティブ機能(Windows.Media.Imaging) が存在します。これをPowerShellから.NET経由で呼び出すことも可能ですが、以下の制約があります。
- 変換処理が比較的遅い
- スクリプトが非常に複雑になり、エラー処理が困難
- 一部のHEICファイル(特に高度な圧縮や深度マップ付き)で失敗する可能性がある
そのため、HEIC JPEG 一括変換 Windows を手軽に実装したい場合は、方法1(外部コマンドラインツール)を強くお勧めします。
変換前に確認すべき重要なポイント
1. HEICコーデックのインストール
- WindowsでHEICファイルを扱うには、Microsoft Storeから 「HEVCビデオ拡張機能」 または 「HEIF画像拡張機能」 をインストールしておく必要があります(有料の場合あり)。これが入っていないと、外部ツールでも変換に失敗することがあります。
2. 出力品質の設定
- JPEGに変換する際、デフォルトでは画質がやや落ちることがあります。使用するツールに品質指定オプション(例:-quality 90 など)がある場合は、それを追加して画質を調整してください。
3. 再帰処理(サブフォルダ対応)
- サブフォルダ内のHEICもまとめて変換したい場合は、Get- ChildItem -Recurse オプションを追加してください。
4. 実行ポリシーの確認
- PowerShellスクリプトを実行する際、実行ポリシーが制限されている場合は、Set- ExecutionPolicy RemoteSigned -Scope CurrentUser で一時的に緩和する必要があります。