it-swarm.asia

Buat tautan simbolik di Mac OS X Finder

Apakah ada cara untuk mendapatkan fungsionalitas yang sama dengan perintah unix ln -s di Mac OS X Finder (OS 10.5)? Saya ingin dapat membuat tautan simbolik saat bekerja di jendela Finder tanpa membuka Terminal.

Perhatikan bahwa perintah Make Alias di Finder bukan yang saya inginkan karena alias tersebut tidak dapat dinavigasi di Terminal (tetapi tautan yang dibuat dengan ln -s dapat dinavigasi oleh Terminal dan Finder).

39

Bagaimana dengan itu membuat tautan simbolis di Finder melalui AppleScript ?

Berikut skrip yang paling relevan di tautan itu:

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

Cukup rekatkan ke Editor AppleScript dan simpan sebagai aplikasi . Kemudian Anda dapat menyeretnya ke bilah alat Finder atau menautkannya pada dock .

16
nuc

SymbolicLinker akan melakukan apa yang Anda cari, dan gratis.

alt text

26
arathorn

Sebuah applescript di tautan disediakan oleh pengguna nuc menjawab pertanyaan saya. Berikut adalah applescript yang diproduksi ulang jika tautannya hilang.

Saya lebih suka skrip yang diberikan oleh komentator jonn8n, yang juga direproduksi sebagai artikel Macworld .

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

Saya menyimpan ini sebagai aplikasi menggunakan Script Editor dan menyeret aplikasi ke bilah samping Finder sehingga sekarang saya dapat membuat tautan simbolis dengan menyeret file atau folder ke ikon aplikasi.

2

Path Finder menambahkan ini ke Finder Anda, dan menambahkan lebih banyak fitur.

1
Khaled Kammar

Juga, di Snow Leopard di mana SymbolicLinker tidak berfungsi, Anda dapat membuat Layanan dengan Automator untuk melakukan perintah Terminal atau AppleScript untuk membuat tautan simbolik.

0
beiju

Satu lagi 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

Kemungkinan peningkatan pada skrip ini adalah mengubah run handler untuk menggunakan file yang saat ini dipilih dari Finder, seperti:

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

Anda juga dapat mengedit [aplikasi] /Isi/Info.plist untuk ditambahkan

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

Tepat sebelum </dict> terakhir. Ini berarti aplikasi akan berjalan di latar belakang, dan tidak akan muncul ke depan ketika Anda mengkliknya.

0
Benjamin Dobson