背景:
7-Zipは速くて好きだけど、zipファイルに関連付けしてもダブルクリックだけでは解凍されない。7-ZipのGUIが開くだけだ。
ダブルクリックで解凍してくれるのはLhaplusだが、7-Zipより遅いし、大きなファイルに弱い。
だから何とかして7-Zipによる解凍をダブルクリックで実行させたい。
やってみたこと(失敗):
ググってみた。
ダブルクリックで解凍させるにはレジストリをいじればいいらしい。
レジストリを書き換えてみたが、成果なし。
あいかわらず、7-ZipのGUIが開くだけだ。
やってみたこと(成功):
Rubyで7-Zipを呼び出して解凍させた。
Lhaplusのような快適な解凍ができた。
以下の.rbファイルを作成した:
pasu = ARGV[0]
file = pasu.split("\\")[-1]
name = file.split('.')[0]
system("mkdir \"C:\\Users\\ユーザー名\\Desktop\\opend7z\\#{name}\"")
system("call \"C:\\Program Files\\7-Zip\\7zG.exe\" x #{ARGV[0]} -o\"C:\\Users\\ユーザー名\\Desktop\\opend7z\\#{name}\\")
system("explorer \"C:\\Users\\ユーザー名\\Desktop\\opend7z\\#{name}\"")
私は.rbファイルはVSCodeと関連付けさせているので、.batファイルを間に挟んで起動させることにした。
.batファイルの中身:
"C:\Ruby27-x64\bin\ruby.exe" "C:\Program Files\7-Zip\Rubyファイル名.rb" %1
何だかひどい遠回りをしている気がするが、快適な解凍環境ができたのでヨシとする。
done is better than perfect.
追伸。ファイルアイコンが寂しくなったので、以下の方法でアイコンを変更した。
https://itojisan.xyz/settings/25324/#i-6