web-dev-qa-db-ja.com

Mac OS X Finderでシンボリックリンクを作成する

UNIXコマンドと同じ機能を取得する方法はありますかln -s Mac OS X Finder(OS 10.5)で?ターミナルを開かずにFinderウィンドウで作業中にシンボリックリンクを作成できるようにしたいと思います。

Make Alias Finderのコマンドは、エイリアスをターミナルでナビゲートできないため(ただし、リンクはln -sは、ターミナルとFinderの両方で移動できます。

39

それはどうですか AppleScriptを介してFinderでシンボリックリンクを作成

そのリンクで最も関連性の高いスクリプトは次のとおりです。

on run
    open {choose file with Prompt "Choose a file to create a symbolic link:" without invisibles}
end run

on open the_files
    repeat with i from 1 to (count the_files)
        try
            set posix_path to POSIX path of (item i of the_files)
            if posix_path ends with "/" then set posix_path to text 1 thru -2 of posix_path
            do Shell script "ln -s " & quoted form of posix_path & " " & quoted form of (posix_path & ".sym")
        end try
    end repeat
end open

AppleScript Editorに貼り付けて、application。次に、Finderのツールバーにドラッグするか、ドックにリンクします。 )。

16
nuc

SymbolicLinker は、探していることを正確に実行し、無料です。

alt text

27
arathorn

リンク のApplescriptがユーザーから提供 nuc が私の質問に回答しました。リンクが消えた場合に再現したアップルスクリプトです。

Macworld記事 としても再現されたコメンターjonn8nのスクリプトを使用しました。

on run
    open {choose file with Prompt ¬
        "Choose a file to create a symbolic link:" without invisibles}
end run
on open the_files
    repeat with i from 1 to (count the_files)
        try
            set posix_path to POSIX path of (item i of the_files)
            if posix_path ends with "/" then set posix_path to ¬
                text 1 thru -2 of posix_path
            do Shell script "ln -s " & quoted form of posix_path ¬
                & " " & quoted form of (posix_path & ".sym")
        end try
    end repeat
end open

これをスクリプトエディターを使用してアプリケーションとして保存し、アプリケーションをFinderサイドバーにドラッグしたので、ファイルまたはフォルダーをアプリケーションアイコンにドラッグしてシンボリックリンクを作成できます。

2

Path Finder これをFinderに追加し、さらに多くの機能を追加します。

1
Khaled Kammar

Automator.appを使用して、bashスクリプトを実行するServiceを作成します。これはAppleScriptよりも簡単で、サードパーティのソフトウェアをインストールするよりも信頼性が高くなります。

for f in "$@"
do
    ln -s "$f" "$f.symlink"
done

Make Symbolic Link.workflow

次に、ServicesメニューのMake Symbolic Linkコマンドにアクセスできます。

enter image description here

結果:

enter image description here

1
Quinn Comendant

また、SymbolicLinkerが機能しないSnow Leopardでは、Automatorを使用してサービスを作成し、ターミナルコマンドまたはAppleScriptを実行してシンボリックリンクを作成できます。

0
beiju

もう1つのAS:

tell application "Finder"
    repeat with f in (get selection)
        set p to POSIX path of (f as text)
        set p2 to POSIX path of (desktop as text) & name of f
        do Shell script "ln -s " & quoted form of p & " " & quoted form of p2
    end repeat
end tell
0
Lri

このスクリプトの可能な改善点は、実行ハンドラーを変更して、Finderから現在選択されているファイルを使用することです。

on run
    tell application "Finder" to set sel to selection
    open sel
end run
on open the_files
    repeat with i from 1 to (count the_files)
        try
            set posix_path to POSIX path of (item i of the_files as alias)
            if posix_path ends with "/" then set posix_path to ¬
                text 1 thru -2 of posix_path
            try
                do Shell script "ln -s " & quoted form of posix_path ¬
                    & " " & quoted form of (posix_path & ".sym")
            on error
                try
                    do Shell script "ln -s " & quoted form of posix_path ¬
                        & " " & quoted form of (posix_path & ".sym") with administrator privileges

                end try
            end try
        end try
    end repeat
end open

[application] /Contents/Info.plistを編集して追加することもできます

<key>LSUIElement</key>
<true/>

最後の</ dict>の直前。つまり、アプリはバックグラウンドで実行され、クリックしても前面に表示されません。

0
Benjamin Dobson