LoginSignup
34
26

More than 5 years have passed since last update.

MacでWindowsの形式(\\〜)のパスを「親の階層に行ける状態」で楽にマウント

Last updated at Posted at 2016-03-27

できるものをつくってみた。まずは動画をみていただければと思います。

movie

概要

  • Windows形式のファイルパスを開ける: Windows形式のネットワーク上のファイルパス(スラッシュ\\で始まるもの)のテキストを選択してServicesからAutomatorを呼び出すと、Finderでそのパスを開ける。
  • マウントポイント調整: 内部的にマウントポイントを調整しているため、開いた後、そのまま親ディレクトリにも行ける。
  • ファイルシステム上のファイルやディレクトリを選択したあと、Windows形式のパスをクリップボードにコピーできる。
  • 認証機能: ユーザ名やパスワードが必要な場合、入れられる。また、一部スクリプトを改変すれば、毎回入力しなくても、常に固定のユーザ名とパスワードを使うことも可能。(GithubのCustomizeを参照)。

インストール方法

Terminal
$ git clone https://github.com/greymd/osx-open-winfs.git
$ cd osx-open-winfs
$ sudo make install

ソースは下記で公開してます。
Github: https://github.com/greymd/osx-open-winfs

環境

手元のMac OSX Yosemite 10.10.5の端末上で動作は確認。多分最近のなら動く気がします。

その他、細かい話

なぜ作ったか?

  • 他のQiitaの記事でもありましたが、職場を始めとした共同環境で、Windows形式のファイルパスをSlack上などでやり取りをされると、Macユーザとしては割とストレスです。

  • WindowsのパスをMacで扱う方法に関しては、幾つかソリューションが存在しましたが、いずれも欠点があったため、それを直したいと思いました。

既存手法との違い

PathCon

「MacとWindowsのファイルパスを相互変換できるサイト」です。
すなわち、Windowsのパスを受け取ったら……

  • ブラウザ開く→パスを変換→コピー→Finderを開く→サーバに接続

という手順を踏まなければいけません。これはさすがに面倒です。とはいえ、Webサービスなので、人様のMacを操作する時も気軽に使えるのは強いです。

MacのAutomatorを使ってWindowsのファイルパスを変換しつつFinderで開く方法

あるブロガーさんが提案した方法。Automatorを使っています。テキストを選択してメニューを開いてクリックするのみ。気軽に開けます。ただ、個人的には、一旦マウントしたら、それより上のディレクトリに行けないのが辛いです。(これは、PathConを使って開いても同じです。)

例えば\\ホスト名\share\mydirectoryというファイルパスを渡されて、それを開くと、ボリュームの最上位マウントポイントが最下位のディレクトリであるmydirectoryになります。
つまり、こんな感じにそれより上にはいけないです。

winpath.png

もしWindowsユーザに\\nas\共有\プロジェクト一覧\プロジェクトAなどというパスを渡され「あ、ごめんパス間違えた、一旦親ディレクトリに戻ってプロジェクトBに行って!」などと言われたらかなりのストレスです。結局手作業でプロジェクトAという文字列を削除して、再度マウントして移動することになります。オマケに単一のマシンが異なるマウントポイントで同じネットワークボリュームをマウントするという大変気持ち悪い状況が完成します。私には耐えられませんでした。そこで、多少面倒でしたが、上で紹介したものを作りました。

ソリューション

上で紹介した私のスクリプトは、Automator経由でシェルを叩き、そこからmount_smbfsコマンドを叩いてマウントしています。既存手法が採用している「smb://...の形式に変換→Finderの機能でマウント」というアプローチは取っていません。
Windowsで使われるSMBファイルシステムのパス形式は\\ホスト名\ボリューム名\サブディレクトリ...と続きます。そこで、一旦はボリューム名までをマウントポイントに指定してマウント、その後、全体のパスをFinderで開く、という操作をしています。内部的にはopenコマンドを使っているため、ファイル名を直接指定したばあいマウント→所定のアプリケーションでファイルを開く、という流れになります。

余談

自分の手元以外の環境で試してないので、なにかソースにおかしい点があれば、是非教えて下さい。。そもそも、AppleScriptを書くのも、自分で作ったworkflowを配布するのも、コレが初めてなので、配布方法が正攻法かどうかもよくわかってません。。

参考

34
26
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34
26