2010年9月21日火曜日

はてなに追加 MyYahoo!に追加 Googleに追加 del.icio.usに追加 livedoorClipに追加 Buzzurlに追加 Macでrarからzipへの一発変換 + Growlで通知

前回のエントリーでrarからzipへの一発変換をやってみたものの、

サイズが大きいファイル、大量のファイル、の時にいつ終わったの?

ってのがわからないといかんせん不便

という事で、こういう通知系はGrowlに任せましょう。

Automator(コマンドライン)上でGrowlを使うには

growlnotify

を使います。

Growlは入ってるけどgrowlnotifyは入っていないって人は、

Growl本家から最新版をDLして、

Extras→growlnotify→ growlnotify.pkg

でインストールできます。

growlnotify -t 'test' -m 'test'

とかやって、ちゃんと表示されればOK

で、前回のソースからGrowl対応版へ保存すれば、

変換が終了したら、変換したファイルの一覧を通知してくれます。

この辺りは、完全に趣味なので
オプションを見て各自いじってください

Growl対応版(スペース修正済み)
#!/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
`echo "${cvt_file}" | growlnotify -t 'RAR2ZIP Done' -a Automator.app`



  • 2010-10-14追記
選択したファイルのディレクトリにスペースが入っていた場合正しく動かなかったので修正

0 件のコメント:

コメントを投稿