2

ドロップボックスが以下のメニューを表示する方法のように、ファイルのコンテキストメニュー項目を表示するための自動化ツールを使用して osx サービスを作成しています。

Dropbox の右クリック コンテキスト メニュー

これらは osx サービスではないことは理解していますが、osx サービスで同じことを実現したいと考えています。したがって、Finder.app のファイルとフォルダーの自動化ツールを使用して 2 つの osx サービスを作成し、これにシェル スクリプト アクションを追加しました。

これで、以下のようなコンテキスト メニューに 2 つのサービス (a と共有、b と共有) がすべて表示されます。

ここに画像の説明を入力

シェル スクリプト (これらのサービスのアクション) からアプリを起動しています。ファイル パスとサービス名を 2 つのコマンド ライン引数としてアプリを起動したいと考えていました。

コマンドラインパラメーター「$ @」からファイル名を取得するように、シェルスクリプト内でユーザーが選択したサービスのサービス名を取得する方法についてのアイデア

4

1 に答える 1

1

「基本的に私の目標は、メニュー項目ごとに異なる URL でブラウザを開くことです。」

AppleScript を使用して、次の AppleScript のようなものを使用して、デフォルトの Web ブラウザーで URL を開くことができます。

tell application "Finder" to open location "http://learnbymac.com"

次のシェル スクリプトのようなものを使用して、シェルから URL を開くことができます。

open -a "Finder" "http://learnbymac.com"

Finder を使用して URL を開くと、Safari を使用するよりも、Finder を使用する方が優れています。

「ファイルとサービス名へのパスを渡すことで、シェル スクリプトからアプリ / exe を起動します。これにより、アプリは、データベースからファイルの詳細を読み取ってサービス名に基づいて URL を構築し、ブラウザに URL をロードできます。 "

アプリを起動するときに、ワークフローの「シェル スクリプトの実行」アクションでサービスの名前を指定する必要がある場合があります。ユーザーがサービスの名前を変更した場合でも、ソフトウェアは引き続き実行されるため、これが最善の方法である可能性があります。ワークフローのバンドルで 1 回、「シェル スクリプトの実行」アクションで再度サービスの名前を重複させないことが理想的であることはわかっていますが、現在実行中のサービスの名前を取得する方法がわかりません。

-- ケイデル
kaydell@yahoo.com

于 2013-07-29T21:23:38.353 に答える