圧縮ファイルrarをzipに一発で再圧縮しましょうってお話です。
もちろんMacにもrarを圧縮、解凍できるフリーソフトはあるのですが、
簡単にrarからzipに再圧縮するフリーソフトが見つからなかったので。
もし、あったら教えてください。
で、今回使用するのは
Automator
Mac標準ユーティリティ(アプリケーション→ユーティリティの中に入ってるロボットみたいなアイコンのヤツ)
RAR
コマンドライン上からrarを圧縮、解凍するやつ
やり方
ここからRAR 3.93 for Mac OS X(verは現時点)をダウンロード、解凍
解凍されたファイル
rar
unrar
を適当なディレクトリにコピー(とりあえず、/usr/bin/以下に置く)
cd ~/Donwloads cp ./rar/rar /usr/bin/ cp ./rar/unrar /usr/bin/
Automatorを起動
ワークフローのテンプレートは、サービスを選ぶ。
アクション→ライブラリ→ユーティリティから
「シェルスクリプトを実行」を右側のワークスペースへドラックアンドドロップ
プルダウンで選択できるシェルは
/bin/sh
を選択
後は以下のシェルをコピペして別名で保存。(スペース修正済み)
#!/bin/sh export PATH=/usr/bin:/usr/local/bin/:$PATH cvt_file='' while read path;do full_file_name=${path##*/} file_name_no_ext=${full_file_name%.*} dir_path=${path%/*} ext=${path##*.} if [ "x${ext}" = "xrar" ];then tmp_dir="${dir_path}/tmp-$$" mkdir -p "${tmp_dir}" cp "${path}" "${tmp_dir}" cd "${tmp_dir}" unrar x -inul "${tmp_dir}/${full_file_name}" rm "${tmp_dir}/${full_file_name}" zip -r "${file_name_no_ext}.zip" ./* > /dev/null 2>&1 mv ./*.zip ../ cd "${dir_path}" rm -rf "${tmp_dir}" cvt_file=${cvt_file}"${file_name_no_ext}.zip\n" fi done
unrarとrarを/usr/bin/以外に保存した場合は
export PATHの部分を書き換えてください
そうすれば、変換したいファイルを選択して右クリックで下の方に先ほど保存した名前があるので選択すると、rar→zipに変換してくれるはずです。
一応、複数ファイルを選択しても、rar以外を選択しても動くようになってるはず。。
元のファイルのファイル名と、ディレクトリ構成を壊さないようにしてあるつもりです。。
別のやり方大募集w
- 2010年10月14日追記
選択したファイルパスのディレクトリにスペースが入っていると正しく動かなかったので修正
http://katoiek.blog122.fc2.com/blog-entry-777.html
返信削除すごく今更ですが、検索でお見かけしたので。。。
今ではこんなツールがありました〜
ドラッグ&ドロップで簡単にコンバートできます。
時代ってすごいですねぇ。