圧縮ファイルの階層が深すぎて解凍を失敗してしまうときに確実に解凍する方法

Windowsのパスの長さ制限(MAX_PATH)である260文字を超えてしまうと解凍に失敗してしまうことがあります。
本記事ではディレクトリ階層が長過ぎる圧縮ファイルを解凍する方法についてご紹介します。
やり方は2つあり、1つは長いパス長にも対応している解凍ソフトを使う方法。
もう1つはWindowsの解凍機能を使う方法です。

どんな時に必要?

圧縮解凍ソフトをインストールしているならわざわざWindowsの機能使う必要ないんじゃない?

と思うかもしれませんが、JAVAの統合開発環境であるeclipseのプラグイン導入版である Pleiadesを解凍するときなどは圧縮解凍ソフトによっては正常に解凍ができません。
というのも、Eclipseはディレクトリ階層が深いため、Windowsのパスの長さ制限(MAX_PATH)である260文字を超えてしまうと解凍に失敗してしまいます。
解凍ソフトによってはエラーとなったり、エラーが発生しなくても、警告や無視が起こり、正常に解凍できない場合があります。
メジャーな圧縮解凍ソフトであるLhaplus+Lhacaでもパス長が長すぎると正常に解凍ができません。

対策

Pleiadesの配布先であるMergeDocでは

Windows エクスプローラー、7-Zip、WinRAR のみで正常に解凍・正常に動作することが確認されています。

と、Windowsの標準機能あるいは対応されている解凍ソフトでの解凍が推奨されています。

対応済の圧縮解凍ソフトを使う

この方法で推奨されているのは7-zipやWinRARです。
以前は7-zipも未対応だったのですがどこかのバージョンアップで対応できるようになっています。
それぞれの配布先については以下の通りです。

個人的にはWinRARは体験版というポップアップが表示されるため好みではありません。
同じフリーソフトでも余計な表示機能を持たない7-zipが好みですがこの辺は利用者の好み、あるいは制約条件(会社のパソコンなのでインストールができないなど)によって決定して問題ありません。
ちなみに7-zipについてはインストールが不要のポータブル版もあるのでインストールの制限があるという人にオススメです。

Windowsの標準コマンドを使う

一度圧縮解凍ソフトをインストールしてしまうと関連付けされてしまいますのでそのままではWindows標準で実行することが出来ません。
かと言ってわざわざ1ファイルの解凍のためにインストール/アンインストールするのも…と言う時に使えるのがこの機能です。

まずコマンドプロンプトを立ち上げてZIPファイルがあるディレクトリまで移動します。
あるいはフォルダの上にマウスを動かしてShift+右クリックで「コマンドウィンドウでここを開く」でもOKです。
そこで以下のコマンドを入力します。

入力コマンド
explorer <zipファイル名>

コマンドが正常に実行されれば、エクスプローラがZIPファイルの中身を表示している状態で立ち上がります。

Zip002 1

その後は「ファイルをすべて展開」をクリックして展開ウィザードを使うか、ZIPファイル内のファイルを展開したい場所にドラッグ&ドロップやコピーをすることで展開可能です。

今日のまとめ

普段から7-zipなどを使っていればあまり問題にならなそうですが、Lhaplusを使っているとこの問題に当たってしまうことがあります。
うまく解凍できなかった方は試してみてください。