Створіть символічне посилання в Mac OS X Finder


39

Чи є такий спосіб отримати такий же функціонал, що і команда unix ln -sв Mac OS X Finder (OS 10.5)? Я хочу мати можливість створювати символічні посилання під час роботи у вікнах Finder, не відкриваючи Термінал.

Зауважте, що Make Aliasкоманда в Finder - це не те, що я хочу, тому що цими псевдонімами не можна переміщатися в Терміналі (але по створених посиланнях ln -sможна переходити і терміналом, і Finder).


macOS дійсно повинен забезпечити це як функцію відключення для користувачів живлення.
Енді

Відповіді:


16

Як щодо створення символічних посилань у Finder через AppleScript ?

Ось найбільш релевантний сценарій за цим посиланням:

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 і збережіть його як додаток . Потім ви можете перетягнути його на панель інструментів пошуку або зв’язати його на доці .


2
Другий коментар на цьому посиланні, залишений jonn8n, дає саме ті функціональні можливості, які я шукав. Хоча я трохи здивований, це неможливо в самому Finder.
Майкл Шнайдер

Ваше посилання гниле
Ben Leggiero

27

SymbolicLinker зробить саме те, що ви шукаєте, і це безкоштовно.

alt текст


3
FWIW, SymbolicLinker все ще працює в Mavericks 10.9.3.
martineau

1
Ваше посилання мертве. Ви посилалися на це? macupdate.com/app/mac/10433/symboliclinker
Ben Leggiero

SymbolicLinker мертвий, принаймні, як у Mavericks.
Дейв Ленд

Просто примітка, яка підтверджує, що це все ще працює на Mojave. Також варто відзначити, що на вкладці "Випуски" на пов'язаному веб-сайті Github є.
Робін Мачарг

2

Яблукопис за посиланням, наданим користувачем nuc, відповів на моє запитання. Ось відтворений яблучний сценарій у випадку, якщо посилання зникне.

Я віддав перевагу сценарію, наданому коментатором jonn8n, який також був відтворений як стаття 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

Я зберег це як додаток за допомогою редактора сценаріїв і перетягнув програму на бічну панель Finder, щоб тепер я міг створювати символічні посилання, перетягуючи файли або папки на піктограму програми.



1

Використовуйте Automator.app для створення сервісу, який виконує скрипт bash. Це простіше, ніж AppleScript, і надійніше, ніж установка стороннього програмного забезпечення.

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

Зробіть символічний Link.workflow

Потім ви можете отримати доступ до команди Make Symbolic Link у меню Сервіси :

введіть тут опис зображення

Результат:

введіть тут опис зображення


0

Можливим вдосконаленням цього сценарію буде зміна обробника запуску для використання поточно вибраних файлів із 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

Ви також можете редагувати [додаток] /Contents/Info.plist, щоб додати

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

Незадовго до останнього </dict>. Це означає, що додаток запускається у фоновому режимі, і не виходить на передню частину, коли ви натискаєте на нього.


0

Крім того, у Snow Leopard, де SymbolicLinker не працює, ви можете створити Сервіс з Automator, щоб виконати або команду Terminal, або AppleScript для створення символічного посилання.


1
Насправді SymbolicLinker працює на Snow Leopard з, принаймні, грудня 2009 року.
cregox

0

Ще один 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

-1

Спробуйте подивитися тут: http://www.techiecorner.com/528/how-to-create-shortcut-in-mac-os-x/

Це вбудовано в OSX вже в тому випадку, якщо ви натискаєте клавішу управління при натисканні на щось.


5
Тільки це не символічне посилання, яке створено. Ви можете cdперейти до символьної посилання на папку, але не в псевдонімі Finder. Прочитайте питання, воно вже про це говорить. (Модератори: Ми, можливо, захочемо залишити цю невідповідь, щоб запобігти подальшим відповідям у цьому рядку)
Даніель Бек

5
@daniel Я сумніваюся, що це допоможе значно запобігти, оскільки відповіді в цьому рядку зазвичай надходять від людей, які не читають. : P
Крегокс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.