DTPab

DTPにまつわるあれこれ

取得したファイルパスを簡単にencodeしたい

和文を含むパスがincludeでエラーになる

Twitterで、KappaCauserさんと「includeのファイルパスに和文が入っているとエラーになる」という話をしてました。

ほんとだー!!!
先日のDTPerのスクリプトもくもく会スピンオフやそのほかの場でincludeの有用性を説いている身としては「けっこう面倒な事態じゃん」と思いました。

それならencodeしよう

JXAでencodeしちゃえば楽ちんですね。Gistにアップするほどでもなかった(実質ワンライナー)なのでこちらで供養。

function run(input, parameters) {
    return encodeURI(input);
}

これだけ。

Automator側の設定

必要なのはJavaScriptを実行、だけです。
「選択されたテキストを出力で置き換える」をチェックしておいてください。

f:id:uske_S:20190528171501p:plain

名前を「encodeURI」として保存しました。

使い方

まずはファイルパスをコピー(OS 10.11以降、Optionキーを押しながらでファイルパスをコピーできます)。

f:id:uske_S:20190528170919p:plain

で、エディタなどにペーストします。それを選択して右クリック>サービス>encodeURIをクリックするだけ。

f:id:uske_S:20190528171720g:plain

出来上がり!

参考

こちらにもっと遊べるJXAが紹介されているのでぜひ。 www.kickbase.net