つい最近、ダウンロードしたゲームの MODファイル が文字化けしてしまった。
はじめに
僕はもともと Lhaplus を使っていたんですが、昔から脆弱性の話がちらほら出てた。実際、2015年には危険な脆弱性が発見されて、色々と注意喚起もあった。今は修正されて基本的には安全なんですが、それでもUNACEV2.DLL ってのに関わる脆弱性は今でも残っているらしい。まあ、この件についてはここでは置いておくとして。
最近なぜか僕の環境でも文字化けや解凍エラーが頻発するように。
どうやら原因は、圧縮元が Mac や海外ソフトのZIPファイルだとファイル名が崩れやすいことにあるみたい。理由ははっきりしていて、Shift-JIS非対応ZIP や UTF-8圧縮 の普及、さらに Windowsのロケール設定の仕様変更 が重なったことが影響しているよう。
そんでもっていろいろ考えた結果、僕は 7zip に乗り換えることにした。
7zipの導入は非常に簡単。このウェブサイトにアクセスして、使ってるPCに合うソフトをダウンロード&インストールすればいいだけだ。

ただ、一つだけ厄介な点が。7zipは通常、右クリックして 7zip を開き、展開ボタンを押さないと解凍できない。Lhaplus の時は、ダウンロードした zip ファイルをダブルクリックするだけで解凍できていたので、ちょっと手間が増えたなと感じる。
というわけで、どうにかして 7zip でもダブルクリックだけで解凍できるようにしたい。実際にやってみましょう。
7zipの設定とか
7-Zip File Managerを開いてください。多分普通にインストールしていれば"C:\Program Files\7-Zip\7zFM.exe"とかにあると思います。

そうしたら、ウィンドウ上部のタブバーのところにあるメニューから
『ツール(T)> オプション(O)』
を選択。

こんな感じでダブルクリック対応させたい拡張子を7-zipにしておく。
レジストリをいじってみる
Windowsキーを押したらregeditと入力、エンターを押せばレジストリエディタが起動すると思う。

上の画像のように、"コンピューター\HKEY_CLASSES_ROOT\7-Zip.zip\shell\open\command"に移動してほしい。そうすると、(規定)と書かれている項目があるので、そこを以下のように編集する。
"C:\Program Files\7-Zip\7zG.exe" x "%1" -o*

これを簡単に説明すると、
・"C:\Program Files\7-Zip\7zG.exe":7zipの実行ファイルの場所。空白があるのでダブルクォートで囲む。
・x: 展開(extract)の意味。フォルダ構造をそのまま保持して解凍。
・"%1": ダブルクリックしたファイルのパスを自動で代入。
・-o*:元のファイルと同じ場所に解凍。
つまりこのコマンドを使えば、ZIPファイルをダブルクリックするだけで元の場所に展開できるように。
実際に使う際にはWindowsの再起動かエクスプローラの再起動が必要になるので、必ず再起動してくださいね。