2017-06-15 5 views
0

Je voudrais monter un volume puis immédiatement ouvrir une fenêtre du Finder vers un chemin spécifique, mais j'ai des problèmes pour convertir Apple Script en JXA.Comment monter un volume et ouvrir un dossier avec Apple JXA

Je veux l'équivalent JXA de quelque chose comme ceci:

tell application "Finder" 
    if not (disk "Airport Time Capsule" exists) then 
     mount volume "afp://AirPort%20Time%20Capsule._afpovertcp._tcp.local" 
    end if 
    open "/Volumes/Airport Time Capsule" 
end tell 

J'ai essayé quelques petites choses, mais rien ne semble fonctionner. La documentation complète pour JXA est inexistante.

var finder = Application('Finder'); 
finder.mount('afp://.....'); // doesn't work 
finder.mount.volume('afp://.....'); // doesn't work 
finder.mountVolume('afp://.....'); // doesn't work 

Répondre

2

Le code suivant doit émuler à peu près votre AppleScript. Il vérifie si un disque avec le nom spécifié (« Time Capsule AirPort ») est déjà monté, ouvre un tel disque si l'on est, ou bien se connecte à la Time Capsule en utilisant la fonction openLocation (qui nécessite standardAdditions):

var finder = Application('Finder') 
finder.includeStandardAdditions = true 
var disks = finder.disks.where({name: 'AirPort Time Capsule'}) 
if (disks.length > 0) { 
    finder.open(disk[0]) 
} else { 
    finder.openLocation('afp://[your-time-capsule].local') 
} 

En fait, j'ai dû remplacer "AirPort Time Capsule" par "MobileBackups" sur mon ordinateur portable, donc vous pouvez essayer si le code ci-dessus ne fonctionne pas.

+0

a parfaitement fonctionné, merci et désolé pour le retard dans le test final. J'utilisais AirPort Time Capsule comme exemple mais en réalité ce n'est pas le dossier que j'avais besoin d'ouvrir. C'était quelque chose pour le travail que je ne pouvais pas afficher à cause de la vie privée. – Francisc0