LoginSignup
2
1

More than 3 years have passed since last update.

Lhaplusの引数を利用して複数データをパスワード付き圧縮及び解凍する方法

Last updated at Posted at 2020-03-08

Lhaplusの引数を利用して複数データをパスワード付き圧縮及び解凍する方法

目次

基本編

  1. 引数一覧
  2. コマンドで実行する場合

実践編

  1. 複数データをまとめてパスワード付き圧縮
  2. 複数データをまとめて解凍
  3. 複数データをまとめてパスワード付き解凍

対象

  • OS:windows7,8,8.1,10
  • 圧縮解凍ソフトがLhaplus.exeしか使用できない現場向け
  • ※インストール可能なら、7-Zipの利用がおすすめ。
  • powershellのバージョンが5.0未満(Windowsキー+RpowershellEnterGet-Hostで確認)
  • 5.0以上であれば圧縮解凍コマンドがあります。※パスワード操作は不可です。 ⇒超簡単! Powershellでファイルの圧縮/解凍

基本編

引数一覧

※圧縮と解凍それぞれ使えるオプションが異なるので注意

引数 意味 圧縮/解凍
/init
/inst シェル初期設定画面を表示する
/instsilent
/c: 形式(拡張子)を指定 圧縮
/l: 対象一覧を記述したファイルを指定 圧縮/解凍
/d
/oh ここに解凍(アーカイブのあるフォルダに展開する 解凍
/od デスクトップに解凍 解凍
/oc 出力先を指定して解凍 解凍
/o: 出力先フォルダを指定する。 圧縮/解凍
/t テンポラリモード 解凍
/a
/x 自己解凍形式 圧縮
/h
/p パスワードを入力するダイアログを表示 圧縮
/p: パスワードを指定 圧縮
/n: 出力するファイル名を指定する 圧縮/解凍
/log: 指定のログファイルにログを出力する 圧縮/解凍
/a2a:
/debug

コマンドで実行する場合

コマンドプロンプト

  1. コマンドプロンプトを起動

    Windows+Rcmd入力⇒Enter

  2. コマンド実行

Lhaplus.exeフルパス オプション 圧縮/解凍するフォルダのフルパス

注意
以下のメッセージが出た場合は、Lhaplus.exeをフルパスが誤っている。
PC内でLhaplus.exeで検索し、正しいパスを指定する。

'Lhaplus.exe' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

フルパスがC:\Program Files (x86)\Lhaplus\Lhaplus.exeであれば、

"C:\Program Files (x86)\Lhaplus\Lhaplus.exe" オプション 圧縮/解凍するフォルダのフルパス

Powershell

  1. Powershellを起動

    Windows+Rpowershell入力⇒Enter

  2. コマンド実行

Start-Process -FilePath 'C:\Program Files (x86)\Lhaplus\Lhaplus.exe' -ArgumentList 'オプション 圧縮/解凍するフォルダのフルパス'

実践編

複数データをまとめてパスワード付き圧縮

Desktopに対象一覧.txtを作成
(例)C:\workC:\tmpを圧縮する場合

対象一覧.txt
C:\work
C:\tmp
  1. 以下の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:\workC:\tmpを解凍する場合

対象一覧.txt
C:\work
C:\tmp
  1. 以下の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:が圧縮専用のオプションであり、解凍用のオプションが存在しないからです。
つまり、パスワード付き圧縮ファイルを解凍する場合は、完全自動化は不可能です。

おわり

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1