読者です 読者をやめる 読者になる 読者になる

めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

Mac形式のNASのファイルパスをWindows形式にAutomatorで変換してクリップボードにコピーする

Windows形式のNASのファイルパスをMac形式にAutomatorを利用して変換し開く - めも帖」から逆に、Mac形式からWindows形式にAutomatorでしてみたいと思います。今回も、調べたら「Mac形式のNASのファイルパスをWindowsの形式に変換する君 - 僕の車輪の再発明」というページがありました。

ファイルパスを取得するプラグインAutomatorにいれる

Automatorの新規で作り始める

  • 書類の選択:「サービス」を選択

「サービス」の設定

  • 受け取る選択項目「ファイルまたはフォルダ」
  • 検索対象「すべてのアプリケーション」

アクションの選択

「ファイルパスを取得」のポイント

  • 取得方法を「URL」にします
  • POSIXだと、「Windows形式のNASのファイルパスをMac形式に変換する」で開いたフォルダーからパスが取得できないことがあったので。

シェルスクリプトを実行」のポイント

  • URLなのでデコードが必要
    • 日本語が混ざるので変換するためのライブラリをいれる
  • Windows形式への変換処理が必要

URLのデコードのためにnkfのインストール

日本語の処理のために、nkf が必要。でも、Macには入っていない。今回は brewnkf を入れました

$brew install nkf
==> Downloading http://dl.sourceforge.jp/nkf/59912/nkf-2.1.3.tar.gz
######################################################################## 100.0%
==> make CC=clang
==> make install prefix=/usr/local/Cellar/nkf/2.1.3 MKDIR=mkdir -p
〓〓〓〓 /usr/local/Cellar/nkf/2.1.3: 4 files, 352K, built in 5 seconds

シェルスクリプトの設定

  • 入力の引き渡し方法:「引数として」を選択
  • nkf を利用しますが、.bash_profile などを読み込んではくれないみたいなので、/usr/local/bin/nkf としました
  • sed での処理は遠い彼方の記憶にある「にわかエンジニア」なので不安
echo $@ | tr % = | /usr/local/bin/nkf -WwmQ | sed 's/.*@/\/\//g' | sed 's/\//\\/g'

保存

  • 保存時につけた名前が、サービス名になります

f:id:d4-1977:20141114235849p:plain

逆の方法