web-dev-qa-db-ja.com

エディターを開かずにapplescriptを実行する

AppleScriptを実行するたびに、エディタがポップアップします。

直接実行する方法はありますか?

12
OscarRyz

スクリプトの保存方法は、Mac OS Xでの動作に大きな影響を与えます。スクリプトがスクリプトとして保存されるだけで、スクリプトを開くたびにスクリプトエディターが開くように思われます。

この問題を解決するには、AppleScriptエディターでスクリプトを開き、アプリケーションとして保存します。それはトリックになるはずです。

手順は(エディター内で)

[ファイル]> [名前を付けて保存]>次に、[ファイル形式]をアプリケーションに設定してから保存します。

link text

19
Bruce McLeod

スクリプトを保存するときに、[ファイル形式]ドロップダウンから[アプリケーション]を選択できます。その後、それを実行することができ、それでもスクリプトエディタにドラッグしてスクリプトを開くことができます。または、[実行のみ]を選択して、編集可能なバージョンを保存しないようにすることもできます。

または、ターミナルでosascriptコマンドをosascript /path/to/scriptまたはosascript -e "a short script here"として使用することもできます。

7
jtbandes

MacOS High Sierra 10.13では、ファイル/名前を付けて保存はありません。

ファイル/エクスポート/ファイル形式を使用する必要があります:アプリケーション File ExportFile Format

1
Jay Walker

スクリプトを〜/ Library/Scripts/Finder /フォルダーに配置して、[スクリプト]メニューから直接実行することもできます。

1
jamiepeloquin

もう1つの方法は、osascriptコマンドを使用してFinderで.scptを実行するサービスをAutomatorで作成することです。

(私は英語でAutomatorを使用していないため、表現が正確でない可能性があります)

  1. Automatorを起動します
  2. [ファイル]> [新規]をクリックし、[サービス]を選択します
  3. 「ServiceAccepts:」で「FileorFolder」を選択します
  4. 「場所:」で「Finder.app」を選択します
  5. 「RunAppleScript」を検索し、アイテムを右側にドラッグします
  6. [AppleScriptの実行]ボックスに、次のコードを入力します。

    on run {input, parameters}
        tell application "Finder"
            --get the selected file
            set selectedItem to (item 1 of (get selection))
    
            --get location info (folder:file format)
            set fileLocation to (selectedItem as alias) as string
    
            --replace : with / with subroutine
            set the semifinal to my replace_chars(fileLocation, ":", "/")
    
            --remove Macintosh HD with subroutine
            set the theFinal to my replace_chars(semifinal, "Macintosh HD", "")
        end tell
        do Shell script "osascript " & "\"" & theFinal & "\""
        return input
    end run
    
    on replace_chars(this_text, search_string, replacement_string)
        set AppleScript's text item delimiters to the search_string
        set the item_list to every text item of this_text
        set AppleScript's text item delimiters to the replacement_string
        set this_text to the item_list as string
        set AppleScript's text item delimiters to ""
        return this_text
    end replace_chars
    
  7. ファイル>保存し、「AppleScriptを実行」のような名前を付けます

  8. これで、Finderで.scptファイルを右クリックし、[AppleScriptの実行]を選択して、スクリプトが実行されるのを確認できます。

参照:サブルーチンのソース- AppleScript:Essential Sub-Routines

0
Jack Wu