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

ワークフロー紹介「FolderConnect by DeskConnect」

その他 その他-ワークフロー紹介

f:id:four_or_three:20160601214724p:plain:w250

2016年7月14日追記。
このワークフローにはテキストファイルの送信に関する不具合があります。
後から作ったワークフロー(FolderConnect by AirDrop)ではその不具合は解消しています。
DeskConnectはちょっと動作が不安定なためこの用途には適していないと思いますので、試用してみるならAirDropのバージョンほうが良いかと思います。

追記はここまで。


フローを一部修整しました(2016/06/02)。

DeskConnectを使って、Macの任意のフォルダにファイルを転送するワークフローです。
共有メニューからExtensionで実行するか、あるいはクリップボードを読み込んで入力のファイルとします。
クリップボードを経由して、あるいは"Share"アクションを使ってほかのワークフローの出力を受け取ることで、いろんなフローの出力をMacのフォルダへ繋げることができます。

DeskConnectはWorkflowのデベロッパーが提供している無料のファイル転送アプリです。

MacSSH接続してシェルスクリプトでファイルの操作を行いますので、Macに接続できない状態で実行するとエラーが出ます。
転送を完了したファイルは実行日時に連番を付与したファイル名となります。オリジナルのファイル名を維持しての転送はシェルスクリプトでの操作において不確実性がかなり高くなるのでこのような処置をしています。
スクリプトを書き直して、オリジナルのファイル名を保ったまま転送するようにしました。ただ、オリジナルのファイル名の取得に使っているGet Nameアクションが正確な名前を出力してくれないことがあるので、そういうケースでは違う名前になってしまいます。

インポートはこちらから。
https://workflow.is/workflows/2fde4110ffd44a30b85cad65617188a3
https://workflow.is/workflows/5b1877b455e349ee8a42ab02c614ff4c


使用開始までの手続き

(1)
MacSSH接続するためのMac側の設定をします。iTunes Remote Widgetの「使用開始までの手続き」を参照してください。

(2)
フローの上から8番目あたりにあるChoose from Menuに、転送先のフォルダを設定します。フォルダはフルパスで記入してください。パスにスペースが含まれる場合もそのまま記入して大丈夫です。

(3)
フローの下のほうにあるSend via DeskConnectのDeviceを、転送先のMacに設定します。 DeskConnectを使ったことがない場合は、使用の前にアカウントの作成とMacアプリのインストール、設定をする必要があります。

(4)
フローの下から3番目にあるRun Script Over SSHに必要事項を設定します。
Host、Port、User、Passwordは(1)と同様にiTunes Remote Widgetの記事を参照してください。
次に、スクリプト欄1行目の
cd "/Users/ユーザ名/Library〜
のユーザ名の部分に自分のUserを記入します。

以上で設定は完了です。


処理の流れ。

転送先のフォルダを選択
 ↓
DeskConnectのサーバにファイルを転送
 ↓
(ここからシェルスクリプト
MacのDeskConnectアプリを終了、再起動させてサーバにファイルを取りに行ってもらう
 ↓
ファイルのDL開始を確認
 ↓
DeskConnectのダウンロードフォルダにDLされたファイルのハッシュ値を確認
送信したファイルとハッシュ値が一致する(ファイルのDLが完了する)まで確認を繰り返し
 ↓
同名のファイルが転送先のフォルダに存在する場合はファイル名に連番を付与
 ↓
ダウンロードフォルダから転送先フォルダにファイルを移動して処理を完了

DeskConnectアプリがファイルの送受信に失敗したり、iPhoneMacとの接続が切れたりしないかぎりは大丈夫、なはずです。多分。

広告を非表示にする