コマンドでパスワード付き圧縮ファイルを解凍

プログラミング

powershellの標準ではパスワード付き圧縮ファイルを解凍することはできません。そのため、コマンドプロンプトから操作可能な7zipを使用します。scoopを使っていると7zipはすでに入っていると思います。ここではscoopでインストールした7zipを使用することにします。

内容の確認

PS C:\Users\xyz\Downloads> C:\Users\xyz\scoop\apps\7zip\current\7z.exe l .\sample.zip
7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21 
Scanning the drive for archives: 
1 file, 1002429 bytes (979 KiB) 
Listing archive: .\sample.zip 
-- 
Path = .\sample.zip 
Type = zip 
Physical Size = 1002429 
   Date      Time    Attr         Size   Compressed  Name 
------------------- ----- ------------ ------------  ------------------------ 
2021-05-19 13:12:35 .....      1078057      1001853  sample.pdf 
------------------- ----- ------------ ------------  ------------------------ 
2021-05-19 13:12:35            1078057      1001853  1 files

パスワード付きファイルの解凍

 C:\Users\xyz\Downloads> C:\Users\xyz\scoop\apps\7zip\current\7z.exe e -p"password" .\sample.zip
7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21 
Scanning the drive for archives: 
1 file, 1002429 bytes (979 KiB) 
Extracting archive: .\sample.zip 
-- 
Path = .\sample.zip 
Type = zip 
Physical Size = 1002429 
Everything is Ok 
Size:       1078057 
Compressed: 1002429

-pでパスワードを指定します。-pとパスワードの間にスペースは入りません。ダブルクォーテーションで囲まないと複雑なパスワード(たとえば&が入っている場合)は正しく文字列として認識しません。