【Mac】Finderから現在フォルダをターミナルで開く

Finderから現在フォルダをターミナルで開く方法の解説ページアイキャッチ

このページでは、Mac で Finder から「現在フォルダをターミナルで開く」方法について解説していきます。

下記ページでも紹介していますが、ターミナルではコマンドを実行して Mac を操作することができ、慣れてくるとマウスでの操作よりも便利なことも多いです。

macのターミナルアプリの使い方の解説ページアイキャッチMacでのターミナルアプリの使い方 Macのターミナルで良く使うコマンド集紹介ページのアイキャッチMacのターミナルでよく使うコマンド集(初心者向け)

ただちょっと不便なのは、ターミナル起動時の作業フォルダ(カレントディレクトリ)が固定になってしまっているという点です。

そのため、Finder で見つけたファイルをターミナルから操作したいような場合、下記のような作業が必要になり手間が多くて面倒です。

  • ターミナルを開く
  • 開いている Finder のフォルダのパスを調べる
  • そのパスまで cd コマンドで移動する

特に後半で説明する Automator で専用アプリを作成する の方法を利用すれば、下記の手順のみで上記の一連の操作を実現することが可能になります。

  • アプリのアイコンをクリックする

このページは、こういった便利な機能を利用したい方にはもちろんのこと、Mac の Automator による自動化の実例を知りたい方にも参考になると思います!

既存の右クリックメニューでは若干手間がかかる

おそらく、Mac の既存の機能では、Finder から “現在フォルダ” をターミナルで開くような機能は存在しません。

ただし、Finder から “選択したフォルダ” をターミナルで開く機能はあります。

具体的には、フォルダを右クリックして表示されるメニューから「フォルダに新規ターミナル」を選択すれば、右クリックで選択したフォルダを作業フォルダとしてターミナルを開くことができます。

選択したフォルダをターミナルで開く様子

ただ、この方法によってターミナルで開けるのは、あくまでも “選択したフォルダ” であって “現在フォルダ” ではありません。

ですので、ターミナルで作業フォルダとして開きたいフォルダを Finder で開いている場合、一度上の階層のフォルダに戻ってから、上記のようにフォルダを右クリックして「フォルダに新規ターミナル」を選択する必要があり、若干手間がかかります。

右クリックから現在フォルダを開くための手順

ちなみに、フォルダを右クリックしてもメニューに「フォルダに新規ターミナル」が表示されない場合、下記の手順によって「フォルダに新規ターミナル」を表示することができるようになります。

  1. 画面左上の Apple マークをクリック
  2. 表示されるメニューから「システム環境設定…」を選択
  3. 「キーボード」アイコンをクリック
  4. 「ショートカット」タブをクリック
  5. 左側のリストから「サービス」を選択
  6. 右側のリストから「ファイルとフォルダ」欄を見つけ出す
  7. ファイルとフォルダ欄にある「フォルダに新規ターミナル」にチェックを付加

Automator で専用アプリを作成する

前述の通り、Mac の既存の機能では Finder から “現在フォルダ” をターミナルで開くようなものが存在しません。

そのため、今回は Automator で「Finder から “現在フォルダ” をターミナルで開く」専用のアプリを作成し、それを Finder のツールバーに追加することで、やりたいことを実現することにしました。

これにより、下のアニメのように、Finder のツールバー上のアプリをクリックするだけで、Finder から現在フォルダをターミナルで開くことができるようになります。

Finderからターミナルを開く様子を示すアニメ

ここからは、このアプリを Automator で作成し、それを Finder のツールバーに追加するための手順を解説していきたいと思います。

スポンサーリンク

Automator を開く

まずは、Automator を開きます。

Automator は「アプリケーション」フォルダの直下にあります。

Automatorアプリのある場所を説明する図

ダブルクリックでアプリを開けば、下の図ような画面が表示されますので、「アプリケーション」を選択してから、「選択」ボタンをクリックします。

書類の種類からアプリケーションを選択する様子

そうすると、下の図のような画面に遷移しますので、次は一番左側の欄の「ライブラリ」をクリックし、さらに真ん中の欄の「AppleScriptを実行」をダブルクリック or 「AppleScriptを実行」を右側の欄にドラッグします。

AppleScript記述画面を表示するための手順の説明図

これにより、下の図のように AppleScript 編集画面が表示されます。ここに、作成したいアプリで実行したい処理を記述していくことになります。

AppleScript編集画面が表示された様子

Automator で AppleScript を記述してアプリを作成

次は、AppleScript を記述して「Finder から “現在フォルダ” をターミナルで開く」アプリを作成していきます。

AppleScript の記述

初期段階では、AppleScript には下記が記述されています。

初期状態のスクリプト
on run {input, parameters}
	
	(* Your script goes here *)
	
	return input
end run

「Finder から現在フォルダをターミナルで開く」アプリを作成するためには、この AppleScript を下記のように変更してやれば良いです。

ターミナルを開くアプリのスクリプト
on run {input, parameters}
	
	tell application "Finder"
		set hfsCurrentFolder to insertion location as Unicode text
		set currentFolder to get POSIX path of hfsCurrentFolder
	end tell
	
	set command to "cd " & currentFolder
	
	tell application "Terminal"
		do script command
		activate
	end tell
	
end run

記述した AppleScript の解説

正直私は AppleScript に詳しくないので分かる範囲でしか解説できないのですが、簡単に上記のスクリプトについて解説しておきます。

スクリプトで行っていることを簡単に言えば、下記の3つになります。

  1. Finder から現在フォルダのパスを取得する
  2. ターミナルを開いて cd コマンドを実行
    • 1. で取得したパスに移動する
  3. ターミナルをアクティベートする

まず、下記のような tell application は、引数で指定するアプリとのやりとりを開始する処理になるようです(end tell でやりとりを終了する)。

アプリとのやりとりの開始
tell application "Finder"
	set hfsCurrentFolder to insertion location as Unicode text
	set currentFolder to get POSIX path of hfsCurrentFolder
end tell

上記では tell application "Finder" を実行していますので、以降で Finder とやりとりして処理を実行することになります。

この Finder とのやりとりの中で実行しているのが、Finder で最前面に表示中のフォルダのパスの取得になります。

最前面に表示中のフォルダのパス取得
set hfsCurrentFolder to insertion location as Unicode text
set currentFolder to get POSIX path of hfsCurrentFolder

1行目で Finder で表示しているフォルダのパスを取得しています。

insertion location は Finder で最前面に表示しているフォルダを指すキーワードのようで、そのフォルダのパスが1行目の処理により変数 hfsCurrentFolder にセットされます(この最前面の Finder で表示しているフォルダを「現在フォルダ」として扱っていきます)。

ただし、ここで hfsCurrentFolder にセットされるのは下記のような HFS パスと呼ばれる形式のもので、この形式のパスではターミナルでの cd コマンドが実行できません。

Macintosh HD:Users:daeu:Documents:

そのため、2行目で cd コマンドが実行可能な形式のパスである POSIX パスに変換しています。これにより、変数 currentFolder に現在フォルダの POSIX パスが格納されることになります。

次に、下記でターミナルで実行するコマンド command を作成しています。これは、"cd "currentFolder(現在フォルダの POSIX パス)を結合しているだけで、要は、ターミナルの作業フォルダを Finder の現在フォルダに移動するコマンドとなります。

コマンドの作成
set command to "cd " & currentFolder
MEMO

特にこの辺りのパスの取得部分に関しては下記ページを参考にさせていただきました。

https://viktor-lab.com/applescript/52/

続いて "Terminal" とのやりとりを開始し、さらに下記の2行目でターミナルに先ほど作成した command を実行させています。

コマンドの作成
tell application "Terminal"
	do script command

これにより、ターミナルが起動して command が実行されます。

command には “ターミナルの作業フォルダを Finder の現在フォルダに移動するコマンド” が格納されていますので、これにより Finder から現在フォルダをターミナルに開く処理が実行されることになります。

最後に、下記によりターミナルの activate を行なっています。これによりターミナルのウィンドウが最前面に移動します。

ターミナルのactivate
activate

ちなみに、上記の AppleScript の場合、cd コマンドが実行される様子がターミナル上に残ってしまいます。これを残したくない場合は、command 作成部分の行を下記のように変更してください。

cdとclearの実行
set command to "cd " & currentFolder & " ; " & "clear"

これにより、cd コマンド実行後に clear コマンドが実行され、画面がクリアされるようになります。

AppleScript の動作確認

続いて、先ほど編集した AppleScript の動作確認を行います。

Finder でフォルダを開く

まずは Finder で適当なフォルダを開きます。

基本的にはどのフォルダでも良いのですが、「最近の項目」など一部の場所は上記の AppleScript で上手くパスが取得できないようなので、「書類(Documents)」フォルダあたりが無難だと思います。

AppleScript を実行する

フォルダを開いたら Automator の画面に戻り、AppleScript 編集画面の上側にある再生ボタンをクリックして AppleScript の実行を行います。

AppleScript再生ボタンの説明図

再生ボタンを押して、ターミナルが起動し、さらに cd コマンドにより事前に開いておいたフォルダへの移動が行われていれば動作確認は成功です(今どこのフォルダにいるかは pwd コマンドで確認できます)。

現在フォルダがターミナルで開かれる様子

もし下の図のようなメッセージが表示された場合、おそらく前述の AppleScript でパスが取得できないフォルダを Finder で開いているものと思われますので、別のフォルダを開いて再度試してみていただければと思います。

開けない場所を開いていた場合に表示されるエラーメッセージ

以上で AppleScript の編集は完了になります。

スポンサーリンク

作成したアプリを保存する

次は、作成したアプリを保存していきます。

メニューバーの「ファイル」から「保存」を選択すれば、下の図のような画面が表示されます。

作成したアプリの保存

「名前」に作成したアプリの名前を付け(分かりやすければ何でも良いはず)、「場所」で作成したアプリを保存したいフォルダを選択して保存ボタンをクリックすれば、その選択したフォルダにアプリが保存されます。

作成したアプリが保存されている様子

保存されたアプリのアイコンをダブルクリックすればアプリが実行され、AppleScript の動作確認時同様に、現在のフォルダがターミナルで開かれることを確認できると思います。

ただ、最初のアプリ起動時には下の図のような画面が表示される場合がありますので、表示された場合は「OK」を選択してください(私は2回表示されました)。

制御の許可を求められる様子

あと、ターミナルを全く起動していない状態でアプリを実行すると、ターミナルのウィンドウが2つ起動することがあるようでした。これに関しては “修正の仕方がわからない” & “ターミナルを起動しておけば1つしか起動しないのでそんなに実害がない” ため、修正は見送らせていただくことにしています。

また、もし AppleScript の動作確認はうまく行っていたのにも関わらず、アプリのアイコンをダブルクリックしてエラーが出る場合は、再度ここまでの手順を繰り返して新たにアプリを作成し直すことで解決できる可能性があります。

私が最初にアプリの実行を試した際には下の図のようなエラーが発生し、アプリが全く動作してくれませんでした。

アプリ実行時に発生したエラー

で、また新たにアプリを新規作成した際には、このエラーが出なくなりました。おそらくアプリを作成する際の手順がおかしかったのではないかと思うのですが、同様のエラーが出る方もおられるかもしれませんので、参考にしていただければと思います。

以上で Automator での作業は完了ですので、Automator アプリは終了してしまって構いません。

アプリを Finder のツールバーに追加

ここまでの作業により、現在のフォルダをターミナルで表示するアプリが作成できましたので、次は Finder のツールバーにこのアプリを追加します。

これにより、アプリの保存先に関わらず、Finder で表示しているフォルダをツールバーからターミナルで開けるようになります。

アプリのツールバーへの追加は、追加したいアプリを command ボタンを押しながらツールバーにドラッグ&ドロップすることで実現することができます。

ツールバーにアプリを追加する様子

アプリをツールバーに追加すると、ツールバーにそのアプリが常駐することになります。

ツールバーにアプリが追加された様子

ツールバーに追加したアプリは Finder で表示しているフォルダの場所に関わらず表示されていますので、これによりどのフォルダからもアプリが実行可能になったことになります。

試しに他のフォルダに移動し、ツールバーに追加したアプリのアイコンをクリックすれば、その移動後のフォルダがターミナルで開かれることを確認することができると思います。

ただし、前述の通り「最近の項目」などの一部の場所は上手く開けないので注意してください。

MEMO

ツールバーからアプリを削除したい場合は、ツールバー上の削除したいアプリを command ボタンを押しながら “ツールバー以外の場所” にドラッグ&ドロップしてください

これにより、ドラッグ&ドロップしたアプリがツールバーから削除されます

アプリのアイコンを変更

ここまでの作業でアプリの機能面は完成したことになります。

最後にアプリのアイコンを変更する方法について解説しますので、お好みでアイコンの変更も実施していただければと思います。

アプリのアイコンを変更する手順は下記の通りになります。

まず、作成したアプリのアイコンを右クリックし、メニューから「情報を見る」を選択します。これにより下の図のようなウィンドウが表示されると思います(一般情報等は隠させていただいています)。

「情報を見る」で表示される画面

アイコンの変更は、このウィンドウの一番上のアイコン部分に、他のアプリのアイコンをドラッグ&ドロップすることで実現することができます。

アプリのアイコンを変更する手順を説明する図

例えば、アプリのアイコンをターミナルアプリと同じものにしたいのであれば、「アプリケーション → ユーティリティ」にある「ターミナル」のアイコンをドラッグ&ドロップすれば良いことになります。

これを行えば、アプリ本体のアイコンが変更されると同時に、ツールバーに表示されているアプリのアイコンも変更されることになります。

ツールバーのアプリのアイコンが変化する様子

もちろんターミナルだけでなく、他のアイコンにも変更可能ですので、お好みに合わせてアイコンの変更を行なっていただければと思います。

スポンサーリンク

参考:ターミナルの作業フォルダを Finder で開く

参考情報ですが、ターミナルから作業フォルダ(カレントディレクトリ)を Finder で開くには、下記の open コマンドを実行します。

open .

Finder でフォルダを辿っていく必要がないので非常に便利なコマンドです。Mac でターミナルを使うのであれば、必ず open コマンドは覚えておきましょう!

その他、覚えておいた方が良いコマンドは下記ページで紹介していますので、こちらも参考にしていただければと思います。

Macのターミナルで良く使うコマンド集紹介ページのアイキャッチMacのターミナルでよく使うコマンド集(初心者向け)

まとめ

このページでは、Mac で Finder から「現在フォルダをターミナルで開く」方法について解説しました!

Mac の既存の機能として「選択したフォルダをターミナルで開く」ことはできるのですが、この機能では現在フォルダをターミナルで開きたい際にば若干手間がかかります。

その一方で、Automator で Finder から「現在フォルダをターミナルで開く」アプリを作成してツールバーに追加してやれば、作成したアプリをクリックするだけで簡単に「現在フォルダをターミナルで開く」を実現することができます。

正直 Automator は初めて使ったのですが、かなりいろんな作業を自動化できそうでビックリしました!

また便利そうなアプリが作成できたら紹介していきたいと思います!

同じカテゴリのページ一覧を表示

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です