Como faço para abrir um localizador barra lateral pasta via AppleScript?
-
11-07-2019 - |
Pergunta
Eu tenho um script que será executado em um Mac via ssh. O script requer uma unidade de rede particular para já ser montado. No Mac, eu montar esta unidade, abrindo uma pasta "JPLemme" nessa unidade no Finder. Isso monta a unidade até que o Mac vai dormir à noite.
Obviamente, o Finder não está disponível via ssh, então eu quero criar um AppleScript que irá simular o que eu faço através do GUI. Eu tentei:
tell application "Finder"
activate
open "JPLemme"
end tell
Eu recebo o seguinte erro:
execution error: Finder got an error: Can't get "JPLemme". (-1728)
Eu suponho que eu estou faltando algo óbvio, mas o Google falhou comigo. Eu também estaria disposto a entreter melhores soluções como montar a unidade diretamente; Eu tenho evitado essa abordagem porque eu não quero que o Mac para sufocar tentando montar a unidade uma segunda vez depois que eu já montou de forma inesperada. (Eu realmente não gosto de Macs ou AppleScript ...)
Solução
O seu volume de rede deve ter um domínio ligado a ele de algum tipo. Assim, "JPLemme.domain.com". Eu uso o seguinte pedaço de código para chegar em um volume de rede que está protegido por senha:
tell application "Finder"
try
set theServer to mount volume "smb://path/to/volume" as username "YourUserName" with password "YourPassword"
--Please note here that this is a plain string without any built-in security. Use at your own risk.
on error
set VolumeCount to (get count of disks)
repeat with x from 1 to VolumeCount
set thisVolume to disk x
if name of thisVolume is "JPLemme" then
set theServer to thisVolume
exit repeat
end if
end repeat
end try
end tell
Você pode limpá-lo conforme necessário, mas esse é o cerne da questão. Boa sorte
Outras dicas
Em que é muito núcleo, tudo o que é realmente necessário é o seguinte:
Tell Application "Finder"
Mount Volume "smb://username:password@server/sub/directory"
End Tell
Mas o que é utilizado vai depender muito do ambiente de rede e erros retornados.