見出し画像

最前面のウィンドウのパスを取得する

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に切り替え、最前面のウィンドウで選択しているファイルがあれば、そのウィンドウに書き出し

  • そうでない場合にはデスクトップに書き出し

ダウンロード

ここから先は

0字 / 4ファイル
月に10-20本くらいの記事を投稿しています。定期購読されると、更新のお知らせを受け取ったり、マガジン限定記事やサンプルファイルをダウンロードできます。 購読を開始した月に更新された記事から読むことができます(初月無料)。

DTP Transit 定期購読マガジン

¥100 / 月 初月無料

マガジン限定記事やサンプルファイルをダウンロードできます。

定期マガジンを購読されるとサンプルファイルをダウンロードいただけます。 https://note.com/dtp_tranist/m/mebd7eab21ea5