Mac OSの使い方/AppleScript、ターミナルを使う

AutomatorでMacを自動処理(2ページ目)

Mac OS X v10.4から実装された 「Automator」というプログラムを使うことで、誰でも簡単に、一連の単純作業を繰り返し何度でも大量に、間違うことなく行うことができます。

木下 幹司

執筆者:木下 幹司

Macガイド

フォルダをバックアップして圧縮し、メール送信

まず、この作業の流れをAutomatorのアクションで実現させるにはどのようなアクションが必要かを考えてみましょう。

【作業の流れ】
A. フォルダを圧縮
B. 圧縮したファイルの名前を変更
C. メール送信

この作業の流れを、それぞれをまず一つずつ作って実験してみましょう。いくらAutomatorが簡単だと言っても、いきなりすべてを作り上げてしまうのは、不具合の特定が難しくなるため、あまりおすすめしません。

●「フォルダを圧縮」をテストする

  1. この記事の冒頭で紹介した「選択された Finder 項目を取得」をまず追加しましょう。Finder で圧縮したいフォルダをクリックして選択状態にしておきます。
  2. Finder のアクション「アーカイブを作成」をドラッグ&ドロップして下に追加します。

以上で実行してみて、思った位置に .zip ファイルが作成されていれば成功です。

●「圧縮したファイルの名前を変更」をテストする
まず、先ほど作成したワークフローのウインドウは閉じてしまいましょう。保存するほどのものではありません。

  1. ここでも、「選択された Finder 項目を取得」をまず追加しましょう。先ほど作った .zip を選択しておきます。消してしまったのなら、別に他のファイルやフォルダでもかまいません。
  2. アクション「Finder 項目の名前を変更」を追加します。追加時に以下のようなメッセージが表示されますが、「追加しない」を選んでください。

(追加)を押すと「Finder 項目をコピー」が追加されます。名前変更くらいではファイルが消えることはないので、(追加しない)を選びましょう。Automatorのアクションを追加するときに時折表示されるメッセージですが、自分の目的にあったものを選んでください

(追加)を押すと「Finder 項目をコピー」が追加されます。名前変更くらいではファイルが消えることはないので、(追加しない)を選びましょう。Automatorのアクションを追加するときに時折表示されるメッセージですが、自分の目的にあったものを選んでください


以上で実行してみて、選択していたファイル/フォルダ名前が変更されていれば成功です。

●「メール送信」をテストする
作成したファイルをメール送信するためには、添付ファイルにする必要があります。先ほどのワークフローは使いません。

  1. 「選択された Finder 項目を取得」をまず追加しましょう。今回はフォルダではなく、ファイルを選択状態にしてください。
  2. ライブラリ「Mail」を選択して、アクション「新規メールメッセージ」を追加します。

以上で実行します。Mail が起動して新規メールのウインドウが開き、Finderで選択していたファイルが添付ファイルになっていれば成功です。

「新規メールメッセージ」の内容をあらかじめ編集しておいて、ワークフローの最後に「送信メッセージを送信」を追加しておけば、送信完了まで自動で実行されます。

そして、これまでのA. B. C. を必要なものだけにして組み合わせれば、連続して自動実行されるワークフローのできあがりです。

●ワークフロー
  1. ライブラリ「Finder」のアクション「選択された Finder 項目を取得」を追加
  2. ライブラリ「Finder」のアクション「アーカイブを作成」を追加
  3. ライブラリ「Finder」のアクション「Finder 項目の名前を変更」を追加
  4. ライブラリ「Mail」のアクション「新規メールメッセージ」を追加

iPhoto上で選択している画像を任意のフォルダに移動し、400ドットに変更して、日付をファイル名に追加

mixi日記やブログにファイルをアップロードする場合、Mac OS XのiPhoto に取り込まれた画像を選択するのは、複雑なフォルダ階層を移動しなければならないため面倒です。

ファイル選択ダイアログにiPhotoの画像をドラッグ&ドロップして、実際のファイル位置にすばやく移動できる裏技を知っていれば、それほど大きな問題ではないですが、後からどのファイルをアップロードしたのかを見直したい場合などに困ることもあるでしょう。

そんな場合は、iPhoto で選択中のファイルを任意のフォルダにコピーして、当日の日付をファイル名に追加してしまいましょう。 ついでに画像のサイズも400ドット幅に変更してアップロードするファイルサイズも小さくしておきます。

以下のアクションをライブラリから順番に追加していきましょう。

●ワークフロー
  1. iPhotoで選択されている画像を取得する
    →「iPhoto」のアクション「選択された iPhoto 項目を取得」を追加
  2. デスクトップ上に作成した「今日の写真」フォルダにファイルをコピーする
    →「Finder」のアクション「Finder 項目をコピー」を追加
  3. コピーし終わったファイルの名前を変更
    →「Finder」のアクション「Finder 項目の名前を変更」を追加
  4. 名前を変更したファイルのサイズを400ドットにする
    →「プレビュー」のアクション「イメージをサイズ調整」を追加
    →「サイズ(ピクセル)指定」を400にします

以上で、完了です。ワークフロー保存時に「アプリケーション」にすれば、Automatorを起動せずとも単体で実行できます。
名前の変更のしかたはいろいろ試してお気に入りを探しましょう!

名前の変更のしかたはいろいろ試してお気に入りを探しましょう!


複数のURLを一括ダウンロード

リンク先をひとつひとつクリックして内容を確認するのが面倒な場合はダウンロードしてしまいましょう。

●ワークフロー
まず、目的のページをSafariで表示した状態にして、以下のワークフローをライブラリから「Safari」のアクションを追加していきます。

  1. 「Safari の現在の Web ページを取得」を追加
  2. 「Web ページからリンク URL を取得」を追加
  3. 「URLをダウンロード」を追加、保存先を設定
※なお、2.のアクションを「Web ページからイメージの URL を取得」とすれば、ホームページの画像を一気にダウンロードできちゃいます。

アドレスブックのアドレスにメールを一斉送信

10人以上の相手に同じ内容のメールを送る必要がある場合などに便利です。

●ワークフロー
以下のアクションをのアクションから追加します。

  1. ライブラリ「Mail」-「新規メールメッセージ」を追加し、件名やメッセージの内容を記入
  2. ライブラリ「アドレスブック」-「アドレスブック項目を検索」を追加し、取得するグループの条件を設定
  3. ライブラリ「Mail」-「グループメーラー」を追加し、挨拶の内容などを設定
  4. ライブラリ「Mail」-「送信メッセージを送信」を追加

iTunesでチェックOFFの項目を削除

iTunesで不要な項目は左側のチェックボックスをオフにしておいて以下のワークフローを実行しましょう。

●ワークフロー
  1. ライブラリ「iTunes」-「指定された iTunes 項目を取得」を追加し、「+」ボタンを押して、ライブラリを追加
  2. ライブラリ「iTunes」-「iTunes 項目にフィルタを適用」を追加し、フィルタ「曲」、条件「有効」「いいえ」に設定
  3. ライブラリ「Finder」-「ゴミ箱に入れる」を追加
※ワークフローを実行後、ゴミ箱を空にすると完全に曲が削除されます。

日々のカロリーを計算して、ダイエットに役立てる(やや上級者向け)

突然ですが、毎日のカロリー計算していますか? その日の摂取カロリーの合計が、消費カロリーを上回る場合、肥満が進みます。 おおよそのカロリー計算をするだけでも「今日は運動していないからあまりカロリーを取らないでおこう」という意識が働くため、ダイエットには効果的です。

そんな日々摂取した食事を、iCalのイベントとして書き残し、メモ欄に摂取カロリーや消費カロリーを記入。 後は、Automatorでその日の終わりにカロリー計算!なんてこともできます。
●ワークフロー
  1. ライブラリ「iCal」-「iCal 項目を検索」を追加し、任意の条件を設定
  2. ライブラリ「iCal」-「イベントの要約」を追加し、「今日」や「今週」を選択
  3. ライブラリ「テキストエディット」-「段落にフィルタを適用」を追加し、「カロリー」「を含む段落」を返す に設定
  4. ライブラリ「Automator」- 「AppleScript を実行」を追加し、以下のスクリプトを記述
on run {input, parameters} 
set numTexts to {"-", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"} 
set NumtextList to {} 
repeat with z in input 
 set clist to every text item of z 
 set aNumtext to "" 
  repeat with x in clist 
   if x is in numTexts then 
     set aNumtext to aNumtext & x 
   end if 
  end repeat 
 set aNumtext to aNumtext as number 
 set NumtextList to NumtextList & {aNumtext} 
end repeat 
-- 合計 
set atotal to 0 
repeat with zz in NumtextList 
  try 
     set atotal to atotal + (zz as number) 
  end try 
end repeat 
      
set goukeiText to ("合計:" & atotal as text) & " kcal" 
   return input & {goukeiText} 
end run 

   5. ライブラリ「テキストエディット」のアクション「新規テキストエディット書類」を追加

●使い方
カロリーと書かれている行以外は何を書いていてもかまいません

カロリーと書かれている行以外は何を書いていてもかまいません

  1. 今日食べたメニューなど取得したカロリーをiCalのイベントとして登録し、メモ欄に「カロリー:100kcal」という感じで記入します。(数字は半角)
  2. スポーツなどで消費したカロリーは、メモ欄に「カロリー:-100kcal」という感じで ’-(マイナス)’ 符号付きで記入します。(数字、符号は半角)
  3. ワークフローを実行すると、テキストエディットにカロリーの計算結果が表示されます。

数値は実際の計測値ではありません 

数値は実際の計測値ではありません


perlコマンドを実行する(上級者向け)

Automatorでは、ライブラリ「Automator」のアクション「シェルスクリプトを実行」を追加して、perl コマンドを実行させて結果を取得したりすることもできます。高度な処理がしたい場合は、この機能を使いこなしましょう。
いろんなシェルやperl、pythonなどが利用できます

いろんなシェルやperl、pythonなどが利用できます


これまでのワークフローをすべてダウンロード

オンラインソフトのプラグインを使おう

Automator アクションは、ライブラリ/Automator にプラグインを追加することで、拡張できます。

以下に、アップルのサイトで紹介されているもののうち、便利そうなものをピックアップしました。ちゃんとした動作保証されたソフトではありませんので、利用は自己責任となります。あらかじめご了承ください。

●キー操作を自動化できる
System Action Pack

●FTPにアップロード
Upload to FTP

●バックアップ
Backup Folder

●フォルダ比較
Compare Folders

●フォルダのシンク(同期)
Sync Folders
【編集部おすすめの購入サイト】
楽天市場で MAC 関連の商品を見るAmazon で MAC 関連の商品を見る
  • 前のページへ
  • 1
  • 2
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます