zipcloakコマンドを使う
atmarkit.itmedia.co.jp
zipcloakコマンドは zipのパッケージに入っている
zipcloakというパッケージかなんかだと思い込んでいたので、zipと同じパッケージだと気づくのにずいぶん時間がかかった
対話型のコマンドなので、パスワードはコマンドライン引数に書けない
コマンドラインで使いたいので、expectなどから呼び出すしかない。
#!/usr/bin/expect -f # zipcloakを非対話にするスクリプト set filename [ lindex $argv 0 ] set password [ lindex $argv 1 ] if { "$filename" == "" } { puts "unzipcloak.exp <ZIPファイル名> <パスワード>" exit } puts "filename=$filename" puts "password=$password\n" spawn zipcloak -d "$filename" expect "assword:" send "$password\n" interact