はじめに
Lhaplusの移行先を探していたのですが、
ワンクリックで指定したフォルダに解凍してくれるようなツールが中々見つからなかったため、7-zipのコマンドライン版からバッチを作ることにしました。
実はバッチファイルでもファイル関連付けは行えます。
仕様
- SEVEN_ZIP_PATHにはデフォルトのインストール先が入っています。
- OUTPUT_PATHに解凍したいフォルダを指定して下さい。
- 解凍先が既に存在しているフォルダの場合、末尾に(1)のように数字が追加されます。(どんどん数字が増える)
- 解凍後、自動的にフォルダが開かれます。
コード
@echo off
setlocal
set "SEVEN_ZIP_PATH=C:\Program Files\7-Zip\7zG.exe"
set "OUTPUT_PATH=D:\一時\"
if not "%~0"=="%~dp0.\%~nx0" (
start /min cmd /c,"%~dp0.\%~nx0" %*
exit
)
set "making_folder=%~n1"
set count=0
:loop
If not exist "%OUTPUT_PATH%%making_folder%" goto loop_end
set /a count+=1
set "making_folder=%~n1 (%count%)"
goto loop
:loop_end
"%SEVEN_ZIP_PATH%" x "%~1" -aos -o"%OUTPUT_PATH%%making_folder%"
explorer "%OUTPUT_PATH%%making_folder%"
(おまけ)ファイルのアイコンをLhaplusと同じものに変更する
Lhaplus(アーカイブ版もあります)のLplsIcon.dllから、Icon Explorerのようなツールでアイコンを抜き出して、FileTypesManから拡張子ごとに変更できます。
参考文献