Apple Script Else / If

时间:2015-12-21 16:21:58

标签: macos applescript drive-mapping

我正在尝试在连接到网络时自动安装驱动器。唯一的问题是,当我没有连接到我的网络时,错误显示,连接到网络时没有错误显示。我该怎么禁用它?

这是我目前的剧本:

tell application "Finder"
    mount volume "smb://(IP)/(Drive)" as user name "(user)"
end tell

1 个答案:

答案 0 :(得分:0)

这是检查网络连接的简单处理程序。它适用于以太网和WiFi连接。

如有必要,请调整前两行中的值。

property primaryEthernetDevice : "en0"
property primaryWiFiDevice : "en2"

property myIPAddress : "192.168.1.10"
property mySSID : "mySSID"

set {isConnected, IPAddress, ssid} to checkConnection()
if isConnected and ssid is mySSID then
    mount volume "smb://(IP)/(Drive)" as user name "(user)"
end if

on checkConnection()
    set wiredIP to do shell script "/sbin/ifconfig " & primaryEthernetDevice & " | /usr/bin/awk '/inet / {print $2}'"
    if wiredIP is not "" then return {true, wiredIP, ""}
    set wirelessIP to do shell script "/sbin/ifconfig " & primaryWiFiDevice & " | /usr/bin/awk '/inet / {print $2}'"
    if wirelessIP is not "" then
        set ssid to do shell script "/usr/sbin/networksetup -getairportnetwork " & primaryWiFiDevice & " | sed 's/Current Wi-Fi Network: //g'"
        return {true, wirelessIP, ssid}
    else
        return {false, "", ""}
    end if
end checkConnection