それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Apple Script でファイル保存(osascript/osjscript)

osascript でファイルを保存するサンプル

ファイルを保存するという基本的なところをUI Elementsではなく、Standard Suiteで行うことにした。

tell application ("TextEdit")
activate
make new document
set text of document 1 to "test from apple script"
 save document 1 in POSIX file ("/Users/takuya/Desktop/sample.txt")
end tell

同じことをJavascript for Automation で

var app = Application("TextEdit")
app . activate()
var doc  = app.Document()
doc.text = "test"
app.documents.push(doc)

app.documents[0].save({
in : Path("/Users/takuya/Desktop/sample2.txt")
})

こんなもん。簡単でした。

保存については、マニュアル飲み方

f:id:takuya_1st:20160129200405j:plain:w400

ポイント

関数の引数の渡し方

JavaScriptで書くときには、ちょっとくせがる。

引数なしの時

doc.save() //

引数があるとき

doc.save({ as : 'Text' }) //

引数は、不定個数ではなく、「一つ」で渡す。その一つはJSONであり、引数の名前が、キー名になる。

引数を複数入れるとき

doc.save({ as : 'Text' in: Path("/Path/to/Write") }) //

オブジェクトで複数いれます。ファイル・パスはPath()オブジェクトを使ってUNIXパス文字列を扱います。

理屈がわかると簡単

JavaScriptでもAppleScriptでもドキュメントさえ押さえれば、簡単に自動化処理を作ることができる。