it-swarm.asia

Mac OS X Finder'da sembolik bir bağlantı oluşturun

Mac OS X Finder'da (OS 10.5) unix komutu ln -s ile aynı işlevselliği elde etmenin bir yolu var mı? Finder pencerelerinde çalışırken Terminali açmadan sembolik bağlantılar oluşturabilmek istiyorum.

Finder'daki Make Alias komutunun istediğim şeyin olmadığını unutmayın, çünkü bu diğer adlar Terminal'de gezinilemez (ancak ln -s ile oluşturulan bağlantılar hem Terminal hem de Finder tarafından gezilebilir).

39
Michael Schneider

Peki ya AppleScript ile Finder'da sembolik bağlantılar oluşturmak ?

İşte bu linkteki en alakalı script:

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

Sadece AppleScript Editor içine yapıştırın ve application olarak kaydedin. Sonra onu Finder's araç çubuğ üzerine sürükleyebilir veya dock 'a bağlayabilirsiniz.

16
nuc

SymbolicLinker tam olarak aradığınızı yapacaktır ve ücretsizdir.

alt text

26
arathorn

Kullanıcı tarafından sağlanan bağlantısında bir el yazısı nuc sorumu yanıtladı. İşte bağlantının kaybolması durumunda üretilen el yazısı.

Yorum yazarı jonn8n tarafından verilen betiği de tercih ettim, ayrıca Macworld makalesi .

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

Bunu Script Editor kullanarak bir uygulama olarak kaydettim ve uygulamayı Finder kenar çubuğuna sürükledim, böylece artık dosya veya klasörleri uygulama simgesine sürükleyerek sembolik bağlantılar oluşturabiliyorum.

2
Michael Schneider

Path Finder bunu Finder'ınıza ekler ve daha birçok özellik ekler.

1
Khaled Kammar

Ayrıca, SymbolicLinker'in çalışmadığı Snow Leopard'da, sembolik bir bağlantı oluşturmak için Terminal komutunu ya da AppleScript'i yapmak için Automator ile bir Servis oluşturabilirsiniz.

0
beiju

Bir AS daha:

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

Bu betiğin olası bir iyileştirmesi, seçili olan dosyaları Finder'dan kullanmak için çalıştırma işleyicisini değiştiriyor olabilir:

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

Eklemek için [application] /Contents/Info.plist dosyasını düzenleyebilirsiniz.

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

Sonuncusundan hemen önce </dict>. Bu, uygulamanın arka planda çalışacağı ve tıkladığınızda öne gelmeyeceği anlamına gelir.

0
Benjamin Dobson