はじめに
はじめまして。たいです。普段は高校生をしています。
MacやLinuxで圧縮したZipファイルをWindowsで解凍するときどうしてます?
ネットで検索すると7Zipとかのソフトを使う例が多いですが、できればソフトをインストールしたくないケースもあると思います。そんなときインストールせず1ファイルをダウンロードするだけで文字化けを回避しつつ解凍できるソフトを作ってきました。
ソースはGitHubにあります。ライセンスはMITです。
使用法
基本的にはWindowsの標準機能で解凍してみて、文字化けしたらこのソフトを使ってください。
はじめに、unkozipのリポジトリからunkozip.exe
をダウンロードしてください。
解凍(GUI)
解凍したいファイルをunkozip.exe
にドラッグアンドドロップするだけで解凍できます。
解凍(CUI)
パスの通った場所やホームディレクトリ(%USERPROFILE%
)にソフトをコピーしておけば、コマンドラインからも使用できます。コマンドの構文はこんな感じです。Zipファイル以外は省略できます。
unkozip Zipファイル -o 解凍先ディレクトリ -c 解凍で使用する文字コード名 --mcp 解凍で使用する文字コードのコードポイント(後述)
使用例はこんな感じ。
: macOSとかで圧縮したテスト.zipを解凍する
unkozip テスト.zip
: テスト.zipをoutputに出力する
unkozip テスト.zip output
: Windowsで圧縮した(Shift-JISで圧縮した)テスト.zipを解凍する
unkozip テスト.zip -c shift_jis
: 上と同じ意味(コードポイントを使用)
unkozip テスト.zip -mcp 932
なぜこんな名前なの?
A. unzip
に似てるから。
適当ですn(((
実装方法とか
内部的には.NETのZipFIle.ExtraceToDirecotryメソッドを呼んでいるだけです。
コマンドライン引数をいい感じに処理するのにCommandLineParserを使いました。意外と便利ですねこれ。
今度ほかのソフトにも使ってみたいところです。CommandLineParserの使い方はこの記事が参考になりました。
あと、実行ファイルをひとつにまとめるのはこちらで紹介されているFodyも使いました。