はじめに
ファイルを複数に分割したものをインターネットメールにて送付する際、業務都合ですべてのファイルにパスワードをかけるケースがあります。
本記事では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を定期的に作成する方は省力化できるため、参考ください。