40歳からのキャリアチェンジ

20代はエンジニア・PM、30代はWeb系エンジニア向けのキャリアアドバイザー。40代の今はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連あたり

AppleScript 使って特定のフォルダ配下の写真をまとめてインポートする

自分のブログのPVはそんなに対した数ではないのですがiPhoto写真を一括でEvernoteに取り込めそうだけど・・・のページが「Evernote」「一括」「写真」「インポート」というキーワードで検索エンジン経由でアクセスされることが多いのと、つい最近Mac版のEvernoteクライアントのAppleScript機能がかなり拡張されたので、指定フォルダ以下のPICTファイルをGraphicConverterでJPEGに変換AppleScriptのサンプルを頼りに、特定のフォルダ配下の写真をまとめてインポートするスクリプト書いてみました。


※2010年9月13日追記:AppleScriptは自分自身あんまり詳しくないのと、情報も少ないので一通りの流れをまとめました

自分が想定してる対象ユーザ

  • Macを使っていて、基本的にはiPhotoで写真管理しているような人
  • 上記のような人でiPhotoのお気に入りの写真をEvernoteにも取り込んでおきたい人

ちなみに自分の所のMacの環境とEvernoteのバージョンは下記の通りです
Mac OSX:10.5.8
Evernote:version 1.11.0

使い方

1.取り込みたい写真を適当な場所(例:デスクトップ上)にフォルダを作成して1つにまとめておきます。※iPhoto使って写真管理している人はiPhotoの写真書き出し機能などをつかってまとめておきます

2.AppleScriptを実行するためのスクリプトエディタを起動します。場所は
アプリケーション→AppleScript→スクリプトエディタ
applescript_editor

3.スクリプトエディタを起動したら、この下に書いたソースコードをコピペして実行ボタンを押します
import_picture_to_evernote

set aFol to choose folder
set fList to {}
set f_r to a reference to fList
tell application "Finder"
	set fList to entire contents of aFol as alias list
end tell
repeat with i in f_r
	set j to contents of i
	set aInfo to info for j
	set aF to folder of aInfo
	try
		set aInfo to info for j
		set aF to folder of aInfo
	on error
		set aF to false
	end try
	importJPEG(j) of me
end repeat

on importJPEG(aFile)
	tell application "Evernote"
		create note title "import picture" with text "" attachments aFile
	end tell
end importJPEG

4.実行するとフォルダ名の選択をするような画面になるので、写真があるフォルダを指定します。

取り込む写真の枚数&容量x使っているMacのマシンスペックによって取り込む時間はかなり変わりますが1分程度で作業完成すると思います。