最前面のウィンドウのパスを取得する
Keyboard Maestroで何かを処理するとき、最前面のウィンドウに対して行うことが多いです。
Promptアクションでダイアログボックスを表示させて指定してきたのですが、なんとも非効率です。
最前面のウィンドウのパスを取得できれば事足ります。
Finderの場合
Finderの場合には、AppleScriptを使うことで最前面のウィンドウのパスを取得できます。
その際、Finderウィンドウでファイルを選択しているかどうかは問いません。
Path Finderの場合
Finderの場合には、AppleScriptで最前面のウィンドウのパスを取得するのが一筋縄ではいきません。
親フォルダー
親フォルダーのみを取得したい場合には、次のAppleScriptを実行します。
Path Finderの場合、いずれかのファイルを選択しておく必要があります。ファイルの選択は複数でもOKです。
ソースコード
tell application "Path Finder"
set selItemList to selection
if selItemList ≠ missing value then
set firstItemPath to (get POSIX path of (contents of item 1 of selItemList))
set parentPath to do shell script "dirname " & quoted form of firstItemPath
return parentPath
else
return 0
end if
end tell
ファイル
選択したファイルを参照したい場合には、次のAppleScriptを実行します。
次のようにパスとファイル名が取得されます。
/Users/takano/sw Dropbox/takano masahiro/ai-script/scale/MaxWidthScaler.jsx
ファイル名、拡張子、親フォルダを参照するには、Split Pathアクションを使います。
応用例(1)テキストファイルを「UTF-16」として書き出す
選択したファイルを「UTF-16」として書き出すマクロです。
応用例(2)選択したSRTファイルをCSVとして書き出す
選択したSRTファイルをCSVとして書き出すマクロです。
応用例(3)指定したフォルダー内のタグ(ラベル)を削除
指定したフォルダー内のすべてのタグ(ラベル)を削除します。
応用例(4)フォルダー内のファイルに、ファイル名や拡張子などの条件に応じてタグ(ラベル)をつける
フォルダー内のファイルに、ファイル名や拡張子などの条件に応じてタグ(ラベル)をつけます。
応用例(5)Google ChromeのタブをQRコードとして出力する
Google ChromeのタブをQRコードとして出力します。
一瞬、Path Finderに切り替え、最前面のウィンドウで選択しているファイルがあれば、そのウィンドウに書き出し
そうでない場合にはデスクトップに書き出し
ダウンロード
ここから先は
DTP Transit 定期購読マガジン
マガジン限定記事やサンプルファイルをダウンロードできます。
定期マガジンを購読されるとサンプルファイルをダウンロードいただけます。 https://note.com/dtp_tranist/m/mebd7eab21ea5