こんにちは、エンジニアのオオバです。

前提としてぼくはMacユーザーです。

MacとWindowsが混在する環境で働いていると、共有サーバのURLをWindowsユーザーから送られてくると、Macではそのままアクセスすることができません。

\\hoge\piyo\foo\  

Windowsユーザーから送られる上のようなパスを以下のように変換したい。

smb://hoge/piyo/foo/  

→11万文字で徹底解説した「DOTweenの教科書」Unityアニメーションの超効率化ツールはこちら

Automatorで対応する

本件ググると結構出てきますが、自分が知らない、またはやったことがない事に関しては、既出はガン無視していくスタイルの本ブログですので調べて作って公開します。

準備

変換したテキストを選択状態にしておきます。

自動化の流れ

具体的には以下のような流れで自動化させてみます。

  1. シェルスクリプトを実行
  2. クリップボードにコピー
  3. AppleScriptを実行してペースト

ではここから実際に作っていきます。

サービスを選択

AutomatorでWindowsのパスをMacのパスに変換を自動化して効率を上げる_0

サービスで作成していきます。

シェルスクリプトを実行

まずはバックスラッシュをスラッシュに置き換えます。

AutomatorでWindowsのパスをMacのパスに変換を自動化して効率を上げる_1

以下のスクリプトをコピペします。

for f in "$@"  
do  
    echo smb:$f | sed 's/\\/\//g'  
done  

入力の引き渡し方法を引数としてを選びます。

クリップボードにコピー

AutomatorでWindowsのパスをMacのパスに変換を自動化して効率を上げる_2

バックスラッシュをスラッシュに置き換えた文字列をクリップボードにコピします。

AppleScriptを実行してペースト処理

AutomatorでWindowsのパスをMacのパスに変換を自動化して効率を上げる_3

「AppleScriptを実行」を追加してクリップボードの内容をペーストします。

tell application "System Events"  

    keystroke "v" using {command down}  

end tell  

こちらのスクリプトをコピペしてください。

参考 : Automator でペースト操作 - Qiita

最後に⌘+Sでわかりやすい名前で保存します。
今回は「WinパスをMacパスへ」と名付けました。

完成したもの

保存が完了すると、右クリックからコンテキストメニューのサービスに先ほど作成した機能が追加されます。

AutomatorでWindowsのパスをMacのパスに変換を自動化して効率を上げる_4

これを作った事で今まで結構ストレスだったWindowsのパスにもフレンドリーに付き合えそうです。

最後に

念のためにAutomator全体のキャプチャを貼っておきます。

AutomatorでWindowsのパスをMacのパスに変換を自動化して効率を上げる_5

Automator、AppleScript面白いですね。

オススメ記事
検証環境