2010-04-08 6 views
1

Nous sommes un réseau d'ordinateurs Mac. Je voudrais envoyer des adresses e-mail à des collègues avec des liens vers des fichiers sur les emplacements réseau. J'ai fait ce qui suit AppleScript:Obtenir l'adresse réseau d'un fichier dans AppleScript

tell application "Finder" 
    set uuu to URL of the first item of (get the selection) 
    set the clipboard to uuu 
end tell 

qui met l'URL du fichier sélectionné dans le presse-papiers, qui peut ensuite être collée dans le message (en utilisant l'élément de menu Ajouter un lien), en fournissant, par exemple:

file://localhost/Volumes/Commerciale/Clienti/ 

Malheureusement, ces liens ne fonctionnent pas. Si je sélectionne Aller à un dossier dans l'élément de menu, je peux accéder au dossier en utilisant une URL de type afp: //.

Y at-il un moyen d'obtenir ceci via AppleScript comme je le fais avec l'URL ci-dessus?

Répondre

1

Les volumes sont-ils déjà montés sur le Mac des destinataires du courrier électronique? Netlink crée une URL cliquable dans Mail. Je n'ai pas de partage AFP ici pour tester ceci:

tell application "Finder" to set netlink to URL of (get selection as alias) 
+0

Pardon un peut-être boiteux question, mais qu'est-ce que netlink? Une application? Une extension de script? Un lien serait vif. Merci –

+0

Après avoir essayé à la fois ce code et mmcgrail, cela ne fonctionne pas (au moins pour moi (et mmcgrail)). Le lien dans l'email envoyé est un lien cliquable, mais il ne va nulle part, et j'ai le volume cible monté comme AFP. Plus d'informations sont vraiment nécessaires ici. –

+0

ressemble netlink est juste un nom de variable dans l'exemple ci-dessus. – stib

0

Pas "automagiquement" pour autant que je sache. Les propriétés de chemin URL et POSIX ne renvoient que le répertoire partagé et non le volume lui-même. Si vous utilisez l'URL qui vous a été fournie par Applescript, seul Applescript peut toujours la résoudre. (J'ai l'impression que le système d'exploitation ou Applescript ne fait qu'effleurer les volumes montés pour trouver le fichier). Vous devrez manipuler la chaîne de chemin pour obtenir le format dont vous avez besoin.

0

ici est une version élargie du poste de markratledge

tell application "Finder" to set netlink to URL of (get selection as alias) 

    tell application "Mail" 
    launch 
    set newMessage to make new outgoing message with properties {subject:"network link", content:netlink, visible:true} 

    -- Add in code for recipient, etc, etc 
    --send newMessage 
    end tell 

mais cela ne semble toujours pas fonctionner lol

1

J'ai résolu avec ce script:

on urlToPOSIXPath(theURL) 
    return do shell script "python -c \"import urllib, urlparse, sys; print urllib.unquote(urlparse.urlparse(sys.argv[1])[2])\" " & quoted form of theURL 
end urlToPOSIXPath 

tell application "Finder" 
    set uuu to URL of the first item of (get the selection) 
    set pp to my urlToPOSIXPath(uuu) 
    set the clipboard to "file://" & pp 
end tell 
Questions connexes