创建Apple脚本以使用自定义服务器映射SMB共享

时间:2014-11-19 19:24:02

标签: macos networking applescript smb

我想制作一个AppleScript,让用户输入共享文件夹的服务器名称和名称,并通过applescript进行映射。 我知道如何在石头smb共享中映射一组,但我希望这是用户友好的,这样他们就可以输入共享名称。 例 SMB:// share3 /安装 该脚本会询问它是什么服务器:share3 脚本会询问文件夹名称是什么:安装 然后,该脚本将弹出用户需要键入的默认连接到服务器登录信息。

1 个答案:

答案 0 :(得分:0)

嗯,您要求的是display dialogdo shell scriptAppleScript Language Guide(PDF)中有详细说明。

因此,要直接回答您的问题,您可能需要以下内容:

set server to text returned of (display dialog "Type the name of the server" with title "Open Share" default answer "10.0.10.50")

set share to text returned of (display dialog "Type the name of the share" with title "Open Share" default answer "installs")

do shell script "open smb://" & server & "/" & share

但是,如果您的用户说“简单”,那么您可能不希望他们输入服务器名称和共享名称。相反,您可以为他们提供选择列表。

set serverShares to {{"share2", {"installA", "installB"}}, {"share3", {"install1", "install2"}}}

set serverList to {}
repeat with servers in serverShares
    set the end of serverList to item 1 of servers
end repeat

set serverChoice to item 1 of (choose from list serverList with title "Open Shared Volume")

set shareList to {}
repeat with i from 1 to length of serverShares
    set server to item 1 of item i of serverShares
    if server is equal to serverChoice then
        set shareList to item 2 of item i of serverShares
        exit repeat
    end if
end repeat

set shareChoice to item 1 of (choose from list shareList with title "Open Shared Volume")

do shell script "open smb://" & serverChoice & "/" & shareChoice

只需在顶部自定义服务器/共享名称嵌套列表,即可自定义哪些服务器上可用的共享。使用shell脚本open smb://server/share将提示用户输入登录凭据(如果他们尚未将其保存在其钥匙串中)。