コンテンツにスキップ
Jpwinsup Github Io Blog 2026 06 23 Shell Explorer Zipfldr Maxpath Japan 5ca28254

エクスプローラーで ZIP ファイルを展開すると「圧縮 (zip 形式) フォルダーは無効です」エラーが発生する

  • URL: https://jpwinsup.github.io/blog/2026/06/23/Shell/Explorer/zipfldr-maxpath-japanese-encoding
  • 日付: 2026-06-25
  • Tier: Tier 1
  • 要旨: エクスプローラーでZIPファイルを展開する際に「圧縮フォルダーは無効です」エラーが表示される問題は、ZIP内エントリのファイル名バイト長が260バイト以上(MAX_PATH)に達したことが原因。判定基準は文字数ではなくバイト長(UTF-8の日本語1文字は3バイト、ASCIIは1バイト)であり、LongPathsEnabledレジストリ設定は効果なし。回避策はPowerShellのExpand-Archiveコマンドレット(推奨)、7-Zipなどのサードパーティツール、またはZIP作成時のファイル名短縮。Windows 11全バージョンとWindows Server 2016以降で同一の260バイト境界値で制限される。

詳細

Microsoft社員の丸山氏によるエクスプローラーのZIP展開エラー解説。zipfldr.dllの実装制約により、ZIP内の相対パス(エントリ名)のバイト長が260以上の場合、ファイル全体を無効と判定。検証結果は複数のOS(Windows 11 version 23H2/24H2/25H2、Windows Server 2016/2019/2022/2025)で同一の259/260バイト境界値を確認。UTF-8エンコード時の日本語パスは約86文字が上限(1文字3バイト消費)。PowerShellのExpand-ArchiveはSystem.IO.Compressionを使用し制限を受けない。ZIP仕様は2006年にUTF-8フラグが追加されて文字化け問題が解消、現在のWindowsは作成時にこのフラグを自動設定。MAX_PATH=260はMS-DOS時代から30年以上変わらない値(ドライブ文字2+パス区切り1+本体256+NULL終端1)で、Win32 API登場時の Windows NT 3.1(1993年)から固定。