AppleScript: 日付から生成した4ケタの数字をクリップボードにコピー
- 2017-06-03
- applescript / mac
本を書くと、1冊につき何百という図を作る必要があります。図はPNGやaiで作りますが、問題はファイル名。何百もあるので、いちいち考えたくないし、重複してはいけないし、かといってあまり長いのもダメ。
というわけで、いままでわたしは、「分秒」で4桁の数字を作ってそれをファイル名に使っていました。たとえば、いまが午後3時6分16秒なら、「0616」などとしていたわけです。実際のファイル名は、それに章番号などを付け足して「c02-0616.ai」というふうにします。この4桁の数字は、テキストエディタ「mi」のタイムスタンプ機能を使って取得していました。
ところがね、この数字には分と秒を使うので、上2桁、下2桁とも「00」〜「59」にしかならず、けっこう頻繁に重複します。重複していることに気づかずにファイル名をつけて、「上書きしますか?」ダイアログの[OK]を不注意にもクリックしてしまったら、前に作ったファイルがなくなってしまう…
そこで、重複しない4桁の数字を自動的に作成するために、今回macの自動処理スクリプト言語「AppleScript」を使って、現在の時間をもとに4桁の数字を出力し、それをクリップボードにコピーするというスクリプトを作ってみました。
そのスクリプトが以下。シェルスクリプトでUnix時間(1970年1月1日からの経過秒)の下4ケタを取得して、それをクリップボードにセットしています。たった4ケタでも、重複の危険はかなり減る……はず。