Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

パス付きのzipファイルをCLIで扱う

コンプライアンス重視なご時世、パス付きZipファイルを望まれるケースが結構あります。
そこいらのソフトで固めるのも良いですが、ここは折角なので自動化してみませう

次のようなコマンドを入力し、お試しファイルを生成します。
ちなみに全部空です。

$ mkdir testzip
$ cd testzip
$ touch `seq -f "%02g.txt" 1 10`
$ ls
01.txt  02.txt  03.txt  04.txt  05.txt  06.txt  07.txt  08.txt  09.txt  10.txt
$ cd ..

圧縮する:zip -reP passworrd output.zip srcDir

折角なので再帰的に圧縮させます。
子ディレクトリまでいけます。

$ zip -reP password testzip.zip testzip
  adding: testzip/ (stored 0%)
  adding: testzip/01.txt (stored 0%)
  adding: testzip/02.txt (stored 0%)
  adding: testzip/03.txt (stored 0%)
  adding: testzip/04.txt (stored 0%)
  adding: testzip/05.txt (stored 0%)
  adding: testzip/06.txt (stored 0%)
  adding: testzip/07.txt (stored 0%)
  adding: testzip/08.txt (stored 0%)
  adding: testzip/09.txt (stored 0%)
  adding: testzip/10.txt (stored 0%)

解凍する:unzip -eP password input.zip

$ unzip -eP password testzip.zip 
Archive:  testzip.zip
   creating: testzip/
 extracting: testzip/01.txt          
 extracting: testzip/02.txt          
 extracting: testzip/03.txt          
 extracting: testzip/04.txt          
 extracting: testzip/05.txt          
 extracting: testzip/06.txt          
 extracting: testzip/07.txt          
 extracting: testzip/08.txt          
 extracting: testzip/09.txt          
 extracting: testzip/10.txt