Lhaplusの引数を利用して複数データをパスワード付き圧縮及び解凍する方法
目次
対象
- OS:windows7,8,8.1,10
- 圧縮解凍ソフトがLhaplus.exeしか使用できない現場向け
- ※インストール可能なら、7-Zipの利用がおすすめ。
- powershellのバージョンが5.0未満(
Windowsキー+R
⇒powershell
⇒Enter
⇒Get-Host
で確認) - 5.0以上であれば圧縮解凍コマンドがあります。※パスワード操作は不可です。
⇒超簡単! Powershellでファイルの圧縮/解凍
基本編
引数一覧
※圧縮と解凍それぞれ使えるオプションが異なるので注意
引数 | 意味 | 圧縮/解凍 |
---|---|---|
/init | ||
/inst | シェル初期設定画面を表示する | |
/instsilent | ||
/c: | 形式(拡張子)を指定 | 圧縮 |
/l: | 対象一覧を記述したファイルを指定 | 圧縮/解凍 |
/d | ||
/oh | ここに解凍(アーカイブのあるフォルダに展開する | 解凍 |
/od | デスクトップに解凍 | 解凍 |
/oc | 出力先を指定して解凍 | 解凍 |
/o: | 出力先フォルダを指定する。 | 圧縮/解凍 |
/t | テンポラリモード | 解凍 |
/a | ||
/x | 自己解凍形式 | 圧縮 |
/h | ||
/p | パスワードを入力するダイアログを表示 | 圧縮 |
/p: | パスワードを指定 | 圧縮 |
/n: | 出力するファイル名を指定する | 圧縮/解凍 |
/log: | 指定のログファイルにログを出力する | 圧縮/解凍 |
/a2a: | ||
/debug |
コマンドで実行する場合
コマンドプロンプト
-
コマンドプロンプトを起動
Windows+R
⇒cmd
入力⇒Enter
-
コマンド実行
Lhaplus.exeフルパス オプション 圧縮/解凍するフォルダのフルパス
注意
以下のメッセージが出た場合は、Lhaplus.exe
をフルパスが誤っている。
PC内でLhaplus.exeで検索し、正しいパスを指定する。
'Lhaplus.exe' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
フルパスがC:\Program Files (x86)\Lhaplus\Lhaplus.exe
であれば、
"C:\Program Files (x86)\Lhaplus\Lhaplus.exe" オプション 圧縮/解凍するフォルダのフルパス
Powershell
-
Powershellを起動
Windows+R
⇒powershell
入力⇒Enter
-
コマンド実行
Start-Process -FilePath 'C:\Program Files (x86)\Lhaplus\Lhaplus.exe' -ArgumentList 'オプション 圧縮/解凍するフォルダのフルパス'
実践編
複数データをまとめてパスワード付き圧縮
Desktopに対象一覧.txt
を作成
(例)C:\work
とC:\tmp
を圧縮する場合
対象一覧.txt
C:\work
C:\tmp
- 以下のbatファイル(文字コード:Shift-JIS)をダブルクリックして実行
パスワードをpassword
にしてデスクトップに圧縮ファイルを出力する
一つの圧縮ファイルにする場合
圧縮_sample.bat
@echo off
set Lhaplusフルパス="C:\Program Files (x86)\Lhaplus\Lhaplus.exe"
set 出力先=%USERPROFILE%\Desktop
set パスワード=password
set 拡張子=zip
set 対象一覧=%USERPROFILE%\Desktop\対象一覧.txt
set オプション=/o:%出力先% /c:%拡張子% /p:%パスワード% /l:%対象一覧%
%Lhaplusフルパス% %オプション%
圧縮ファイルを分ける場合
圧縮_sample.bat
@echo off
set Lhaplusフルパス="C:\Program Files (x86)\Lhaplus\Lhaplus.exe"
set 出力先=%USERPROFILE%\Desktop
set パスワード=password
set 拡張子=zip
set 対象一覧=%USERPROFILE%\Desktop\対象一覧.txt
set オプション=/o:%出力先% /c:%拡張子% /p:%パスワード%
for /f %%i in (%対象一覧%) do (
%Lhaplusフルパス% %オプション% %%i
)
複数データをまとめて解凍
Desktopに対象一覧.txt
を作成
(例)C:\work
とC:\tmp
を解凍する場合
対象一覧.txt
C:\work
C:\tmp
- 以下のbatファイルをダブルクリックして実行
パスワードをpassword
にしてデスクトップに解凍ファイルを出力する
解凍_sample.bat
@echo off
set Lhaplusフルパス="C:\Program Files (x86)\Lhaplus\Lhaplus.exe"
set 対象一覧=%USERPROFILE%\Desktop\対象一覧.txt
set オプション=/od /l:%対象一覧%
%Lhaplusフルパス% %オプション%
補足
logを出力する場合
/log:
は対象が多いと、負荷がかかり実行速度に難有り。
パスワード付き圧縮ファイルを解凍する場合
必ずパスワードを入力するダイアログが表示されます。これは消せません。
/p:
が圧縮専用のオプションであり、解凍用のオプションが存在しないからです。
つまり、パスワード付き圧縮ファイルを解凍する場合は、完全自動化は不可能です。
おわり