読者です 読者をやめる 読者になる 読者になる

イメージに染まるまで……

Mac,iOSなどAppleの製品についての記事や、セキュリティだったりGTDの記事を書いています。

ゴミ箱の容量をAppleScriptで表示させる

Mac Tips AppleScript

はじめに

以前、コマンドラインからゴミ箱の容量を見ようというエントリーを書きました。

ゴミ箱の容量はどれくらい? コマンドで調べてみる [OSX] - イメージに染まるまで……

しかし、これを見て、前々から「そんなことをする初心者はいるのだろうか?」と思っていました。普通の人がコマンドラインを触りたいと思うか?というとノーだと、私自身思いましたし、いちいちターミナルを開くのも面倒です。

と、いうわけで、これをAppleScriptにして、誰でも簡単にゴミ箱の容量を見ることができるようにしてみました。

では、はじめてみましょう。

f:id:nya-0:20150228102130p:plain

方法

作っているフローも残したいと思います。

まず、ゴミ箱の容量を調べるコマンドは、du -sh ~/.Trash/でした。これを、ダイアローグか通知センターを利用して表示することになります。

基本の形としては、

on dutrash()
    set dutrash to do shell script "du -sh ~/.Trash/"
end dutrash

display notificaton dutrash() with title "ゴミ箱の容量"
-- 通知センターではなく、ダイアローグの場合、
-- display alert "ゴミ箱の容量" message my dutrash()

となります。

これですと、du -sh ~/.Trash/の答えがそのまま返ってきてしまって、表示が[ゴミ箱の容量] [ディレクトリのパス]と返ってきます。見た目を考えて、容量だけにしましょう。

on dutrash()
    set dutrash to do shell script "du -sh ~/.Trash/"
    set trashcan to word 1 of dutrash
    return "容量は" & trashcan & "です。"
end dutrash

display notificaton dutrash() with title "ゴミ箱の容量"
-- 通知センターではなく、ダイアローグの場合、
-- display alert "ゴミ箱の容量" message my dutrash()

Quicksilverから呼び出すと、こういう風に表示されました。

f:id:nya-0:20150228102345p:plain

ただ、これでスクリプトを走らせるとゴミ箱が空の場合、「ゴミ箱の容量は0Bです」と表示されてしまいます。分からなくはないですが、あまり美しくないので、ここは手直ししましょう。

on dutrash()
    set dutrash to do shell script "du -sh ~/.Trash"
    set trashcan to word 1 of dutrash
    if trashcan is "0B" then
        return "ゴミ箱は空です。"
    else
        return "容量は" & trashcan & "です。"
    end if
end dutrash

display notification dutrash() with title "ゴミ箱の容量"
-- 通知センターではなく、ダイアローグの場合、
-- display alert "ゴミ箱の容量" message my dutrash()

これで走らせると、ゴミ箱の容量が計算されて、指定した出力で容量が表示されるはずです。さらに、ゴミ箱が空の場合は、「ゴミ箱は空です」と表示されます。

f:id:nya-0:20150228102359p:plain

これで、完成です!

(Apple)スクリプトエディタ.appではこういう風な形です。

f:id:nya-0:20150228102451p:plain

結果の表示を通知センターでなく、ダイアローグで利用する場合は、display notification dutrash() with title "ゴミ箱の容量"の部分を消去し、-- display alert "ゴミ箱の容量" message my dutrash()のはじめのハイフンを削除すればダイアローグの表示も可能です。

おわりに

いかがでしたでしょうか。

いつもそうなのですが、アプリケーション方式で保存して使うもよし、スクリプトのまま保存して、Quicksilverなどから走らせてもよしですので、自分の使い方に合った使い方で活用してください。

(Apple) スクリプトエディタ.appを開いて、コピペして、コンパイルをすると利用できるようになります。