はじめに
注意:本エントリはWindowsレジストリに手を入れます。適用は自己責任でお願いします。
SAP製品のBASISと呼ばれる領域の仕事をしていると.SAR
という形式のアーカイブファイルに出会います。
これは.TAR
ファイル等と同様で複数のファイルを一つのファイルに固めたものになります。
作成、展開はSAPCAR
というSAP社作成のアーカイブツールを利用します。
その為、「ローカルPCで.SAR
ファイルを展開したい」となったら
- コマンドプロンプトを立ち上げる
- コマンド「SAPCAR -xvf -R 」実行
という手順を行う必要があり、非常に面倒です。
これを.ZIP
ファイルを展開するかのように、ダブルクリックで展開で来たらうれしいと考え検証しました。
環境
PS> [System.Environment]::OSVersion
Platform ServicePack Version VersionString
-------- ----------- ------- -------------
Win32NT 10.0.14393.0 Microsoft Windows NT 10.0.14393.0
前提
- ローカルPCに
SAPCAR
が格納されていること。(以下の例ではC:\Windows\System32
に格納しています。) - レジストリを修正する権限があること。
方法
以下のようなレジストリエントリを追加します。
sapcarexe.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.SAR]
@="SAR ファイル"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.SAR\shell]
@="open"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.SAR\shell\open]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.SAR\shell\open\command]
@="C:\\Windows\\System32\\SAPCAR.EXE -xvf \"%1\" -R unpack"
結果
以下のようなHOGE.SAR
ファイルをダブルクリックするとカレントディレクトリにunpack
というサブディレクトリが作成され、その中にSARファイルの中身が展開されます。
- SARファイル
> SAPCAR -tf HOGE.SAR
SAPCAR: processing archive HOGE.SAR (version 2.01)
-rw------- 21527 10 Oct 2017 17:52 hoge.exe
-rw------- 4871 10 Oct 2017 18:48 fuga.exe
- 展開結果
階層1 | 階層2 | 階層3 |
---|---|---|
<任意のディレクトリ>\ | HOGE.SAR | |
unpack\ | hoge.exe | |
fuga.exe |