Erstellen Sie eine symbolische Verknüpfung im Mac OS X Finder


39

Gibt es eine Möglichkeit, die gleiche Funktionalität wie beim Unix-Befehl ln -sim Mac OS X Finder (OS 10.5) zu erhalten? Ich möchte in der Lage sein, symbolische Links zu erstellen, während ich im Finder-Fenster arbeite, ohne das Terminal zu öffnen.

Beachten Sie, dass der Make AliasBefehl in Finder nicht das ist, was ich möchte, da diese Aliase nicht im Terminal ln -snavigiert werden können (aber mit erstellte Links können sowohl vom Terminal als auch vom Finder navigiert werden).


macOS sollte dies wirklich als Opt-In-Funktion für Power-User bereitstellen.
Andy

Antworten:


16

Wie wäre es damit, symbolische Links im Finder über AppleScript zu erstellen ?

Hier ist das relevanteste Skript in diesem 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

Fügen Sie es einfach in den AppleScript-Editor ein und speichern Sie es als Anwendung . Dann können Sie es über die Symbolleiste Ihres Finders ziehen oder im Dock verknüpfen .


2
Der zweite Kommentar zu diesem Link, den jonn8n hinterlassen hat, gibt genau die Funktionalität wieder, nach der ich gesucht habe. Ich bin allerdings ein bisschen überrascht, dass dies in Finder selbst nicht möglich ist.
Michael Schneider

Ihr Link ist faul
Ben Leggiero

27

SymbolicLinker wird genau das tun, wonach Sie suchen, und es ist kostenlos.

Alt-Text


3
FWIW, SymbolicLinker funktioniert immer noch in Mavericks 10.9.3.
Martineau

1
Dein Link ist tot. Haben Sie darauf verlinkt? macupdate.com/app/mac/10433/symboliclinker
Ben Leggiero

SymbolicLinker ist tot, zumindest was Mavericks betrifft.
Dave Land

Nur ein Hinweis, um zu bestätigen, dass dies immer noch auf Mojave funktioniert. Erwähnenswert ist auch, dass auf der Registerkarte "Veröffentlichungen" auf der verknüpften Github-Website eine .dmg-Datei mit den Service- und Installationsanweisungen vorhanden ist, damit Sie diese nicht selbst erstellen müssen.
Robin Macharg

2

Ein Applescript unter dem Link von User NUC hat meine Frage beantwortet. Hier ist das Applescript für den Fall, dass der Link verschwindet.

Ich bevorzuge das Skript des Kommentators jonn8n, der auch als Macworld-Artikel reproduziert wurde .

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

Ich habe dies mit dem Skript-Editor als Anwendung gespeichert und die Anwendung in die Finder-Seitenleiste gezogen, damit ich jetzt symbolische Links erstellen kann, indem ich Dateien oder Ordner auf das Anwendungssymbol ziehe.



1

Verwenden Sie Automator.app, um einen Service zu erstellen , der ein Bash-Skript ausführt. Dies ist einfacher als AppleScript und zuverlässiger als die Installation von Software von Drittanbietern.

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

Machen Sie einen symbolischen Link.workflow

Anschließend können Sie über das Menü Dienste auf den Befehl Symbolischen Link erstellen zugreifen :

Bildbeschreibung hier eingeben

Das Ergebnis:

Bildbeschreibung hier eingeben


0

Eine mögliche Verbesserung dieses Skripts besteht darin, den Run-Handler so zu ändern, dass die aktuell im Finder ausgewählten Dateien verwendet werden.

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

Sie können zum Hinzufügen auch [application] /Contents/Info.plist bearbeiten

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

Kurz vor dem letzten </ dict>. Dies würde bedeuten, dass die App im Hintergrund ausgeführt wird und nicht in den Vordergrund tritt, wenn Sie darauf klicken.


0

In Snow Leopard, in dem SymbolicLinker nicht funktioniert, können Sie mit Automator einen Dienst erstellen, um entweder den Terminalbefehl oder AppleScript zum Erstellen einer symbolischen Verknüpfung auszuführen.


1
Tatsächlich arbeitet SymbolicLinker seit mindestens Dezember 2009 an Snow Leopard.
cregox

0

Eine weitere 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

Versuchen Sie es hier: http://www.techiecorner.com/528/how-to-create-shortcut-in-mac-os-x/

Dies ist bereits in OSX integriert, wenn Sie die Steuertaste drücken, wenn Sie auf etwas klicken.


5
Es wird nur kein symbolischer Link erstellt. Sie können cdeinen symbolischen Link zu einem Ordner erstellen, jedoch nicht zu einem Finder-Alias. Lesen Sie die Frage, es heißt das schon. (Moderatoren: Möglicherweise möchten wir diese nicht beantwortete
Daniel Beck

5
@ Daniel Ich bezweifle, dass es viel hilft, zu verhindern, da die Antworten in dieser Zeile in der Regel von Nichtlesern stammen. : P
cregox
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.