Crie um link simbólico no Localizador do Mac OS X

38

Existe uma maneira de obter a mesma funcionalidade que o comando unix ln -s no Mac OS X Finder (OS 10.5)? Eu quero ser capaz de criar links simbólicos ao trabalhar nas janelas do Finder sem abrir o Terminal.

Observe que o comando Make Alias no Finder não é o que eu quero, pois esses aliases não podem ser navegados no Terminal (mas os links criados com ln -s podem ser navegados pelo Terminal e pelo Finder).

    
por Michael Schneider 18.08.2009 / 11:16

8 respostas

15

E sobre isso criando links simbólicos no Finder via AppleScript ?

Este é o script mais relevante nesse link:

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

Basta colá-lo no Editor AppleScript e salvá-lo como um aplicativo . Depois, você pode arrastá-lo pela barra de ferramentas do seu localizador ou vinculá-lo ao dock .

    
por 18.08.2009 / 11:59
26

SymbolicLinker fará exatamente o que você está procurando, e é gratuito.

    
por 18.08.2009 / 16:45
2

Um applescript no link fornecido pelo usuário nuc respondeu minha pergunta. Aqui está o applescript reproduzido caso esse link desapareça.

Eu preferi o roteiro dado pelo comentarista jonn8n, que também foi reproduzido como artigo da 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

Salvei isso como um aplicativo usando o Editor de scripts e arrastei o aplicativo para a barra lateral do Finder para que agora eu possa criar links simbólicos arrastando arquivos ou pastas para o ícone do aplicativo.

    
por 18.08.2009 / 13:16
1

Path Finder adiciona isso ao seu Finder e adiciona muito mais recursos.

    
por 03.09.2010 / 22:20
0

Um possível aprimoramento desse script seria alterar o manipulador de execução para usar os arquivos atualmente selecionados no Finder, assim:

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

Você também pode editar [application] /Contents/Info.plist para adicionar

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

Pouco antes do último < / dict & gt ;. Isso significaria que o aplicativo seria executado em segundo plano e não viria para a frente quando você clicasse nele.

    
por 18.08.2009 / 16:38
0

Além disso, no Snow Leopard, onde o SymbolicLinker não funciona, você pode criar um Serviço com o Automator para fazer o comando Terminal ou o AppleScript para criar um link simbólico.

    
por 20.09.2009 / 11:10
0

Mais um 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
    
por 20.06.2011 / 16:30
-1

Tente procurar aqui: link

Isso já está embutido no OSX se você pressionar a tecla Ctrl quando clicar em algo.

    
por 08.03.2011 / 10:10