Unzipconv

Unzipconvはzipファイルを展開するだけプログラムです.

背景

Linuxでzipを展開するときにはunzipをよく使うわけですが, zipファイルに含まれるファイルの中にSJISのファイル名があると, ファイル名が変な形で展開されてしまいます. しかも, unzipの実装の仕方のせいで, 変なふうに展開されたファイル名を修正することができません. そのようなファイルを展開する際に, unzipの代わりに使えるものが必要になり, zipファイルをただ展開するだけのプログラムを 自分のために書きました.

どうやって使うか

こちらからダウンロードし展開したなかにある, bin/unzipcon.pyが本体です

次の様にやれば, 多分展開できます: unzipconv.py zipファイル

保存するディレクトリを指定するには, 次の様にやります: unzipconv.py zipファイル -d 保存先

Zipファイルに含まれるファイルのファイル名の文字コードを指定するには, unzipconv.py zipファイル --decode euc_jp のように指定します. 指定しなかった場合は, 可能な文字コードを調べ, 候補がひとつに絞れた場合には展開します. 一つに絞れなかった場合は, 展開せず文字コードの候補を表示します.

unzipconv.py zipファイル --language 言語 とやると, ファイル名の文字コードを探す範囲を指定した言語に限定します. 全ての言語を対象に検索したい時は, noneを指定します. 指定しなかった場合は, システムのロケールがja*, ko*, tz*, ru* , それ以外の場合に それぞれ Japanese, Korean, Chinese, Russian, none が指定されたものと同じとなります.

最新版

最新版(開発版)はこちらからダウンろーどしてください.

注意

文字コードの判別などはかなりいい加減なロジックですが, unzipでおかしなことになった時にだけ使うという用途であれば, それほど問題にならないのではないかと思っています.

Github: https://github.com/a175/unzipconv

ライセンス

とりあえず, GPLとしておきます.


[もどる]