(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Cygwin】Windowsでファイルをパスワード付きZipにするコマンド

スポンサーリンク

はじめに

ファイルを複数に分割したものをインターネットメールにて送付する際、業務都合ですべてのファイルにパスワードをかけるケースがあります。

本記事ではCygwin上でワンライナーでファイルを鍵付きZipファイルにする手法を紹介します。

環境情報
$ bash --version
GNU bash, バージョン 4.4.12(3)-release (x86_64-unknown-cygwin)
$ zip ...
Zip 3.0 (July 5th 2008). Usage:

zipコマンドをインストールする

apt-cygでインストールできます。

$ apt-cyg install zip
Installing zip
--2020-08-31 16:24:36--  http://cygwin.mirror.constant.com//x86_64/release/zip/zip-3.0-12.tar.xz
...
zip-3.0-12.tar.xz: 完了
...
Package zip installed
$ which zip
/usr/bin/zip

パスワード付きZipを作成する

以下でtest.csvファイルを元にziptest.zipファイルが作成できます。パスワードはhogeです。

$ zip ziptest test.csv -e --password=hoge
  adding: test.csv (deflated 75%)

注意点として--passwordオプションをつければコマンド履歴にパスワードが残ります-eのみであれば対話形式でパスワードを入力できます。

$ zip ziptest test.csv -e 
Enter password:
Verify password:

cabファイルを一気にzip化するワンライナー

以下のワンライナーにてcabファイルのファイル名をそのまま.zipに変更できます。

$ for x in *.cab;do zip ${x%.cab} $x -e --password=hoge;done
updating: 1.cab (deflated 0%)
updating: 2.cab (deflated 0%)
updating: 3.cab (deflated 0%)
updating: 4.cab (deflated 0%)

以下のファイル名抜き出し方法を利用しています。

終わりに

業務上パスワード付きZipを定期的に作成する方は省力化できるため、参考ください。