2012年4月18日水曜日

[AppleScript] 連番ファイルから最新を残して削除 [超限定仕様]

タイトルの[AppleScript]を消すとか言ったけど不便だったのでやっぱりつけるよ!
Evernoteでタイトルソートしてパパっと取り出したいからね!

何度も何度も記事にしてますが、Simplenoteをプレミアムにしたったらしたのです。
で。Dropboxとの同期、どうも思ったような動きをしてくれません。
というか、余計なことしてくれてるんですね・・・

1

編集したノートのリビジョンを取ってくれるのです(・ω・`)
ななななんて余計なお世話を!!
ゴチャゴチャして見づらいったらないよ!!
履歴はSimplenoteがWebに残してるので、ローカルには最新のノートがあれば十分。

ということで、最新のファイル以外を削除するスクリプトです。

仕様


判別はファイルタイトルの最後に「000*」の数字が入ってるかどうかです。
この判別の裏をかいて、自分からファイルタイトルに「000*」をつけると当然スクリプトが動きます。その時どんな動作をするかは保証しません。
そんなアホなことはしない、と約束して使いましょう。
ほぼ今回だけ動けばいい仕様なのでやっつけにも程があるけど、まあいいよね。

Dropboxにファイルが作られたら自動で動くように、フォルダアクション製です。
常にPCつけてないと意味ないという仕様・・・まあ、いいよね・・・
フォルダアクションの割り当てとかは調べてくださいな(。・ω・。)

本体



Simplenote2Dropbox.scpt

コード



on adding folder items to this_folder after receiving added_items
set added_items to added_items as alias
delay 10 --Dropboxから同期する時間
tell application "Finder"
copy properties of added_items to {name:a3, name extension:a4}
if a3 contains "000" then
set iname to a3's characters 1 thru -((count character of a4) + 7) as Unicode text --連番を抜いたファイル名
try
set name of added_items to "この名前のファイルは作らないでください" --この名前に仮リネーム
end try
set fpath to POSIX path of this_folder
set query to "rm -rf `find " & fpath & ". -name \"" & iname & "\"*`"
do shell script query
delay 3 --削除までの余裕、いらないかも
set name of added_items to iname & "." & a4
end if
end tell
end adding folder items to

0 件のコメント:

コメントを投稿