用于收集所有Windows错误的AppleScript:预期的行结束但发现未知令牌

时间:2017-10-20 13:47:45

标签: macos applescript osx-elcapitan

对于AppleScript而言,我是一个完整的菜鸟,并且当断开外部显示器时,一台Mac笔记本电脑出现问题。断开外部显示器后,打开的文档(如word和excel文件)将从屏幕上移开,无法再拖回视图。

OS X El Capitan版本10.11.6(15G1510)

我发现AppleScript应该收集所有打开的窗口并将它们显示在监视器上,但每次都会出错。

语法错误:预期行结束但发现未知令牌。

这是脚本:

    #!/usr/bin/osascript

tell application "Finder"

    -- get desktop dimensions dw = desktop width; dh = desktop height
    set db to bounds of window of desktop
    set {dw, dh} to {item 3 of db, item 4 of db}
end tell

tell application "System Events"
    repeat with proc in application processes
        tell proc
            repeat with win in windows
                -- get window dimensions (w = width; h = height)
                set {w, h} to size of win

                -- get window postion (l = left of window; t = top of window)
                set {l, t} to position of win

                -- nh = new window height; nw = new window width
                set {nh, nw} to {h, w}

                -- window width is bigger than desktop size,
                -- so set new window width to match the desktop
                if (w > dw) then ¬
                    set nw to dw

                -- window height is bigger than the desktop size (minus menu bar),
                -- so set new window height to be desktop height - 22 pixels
                if (h > dh - 22) then ¬
                    set nh to dh - 22

                -- r = right coordinate of window; b = bottom coordinate of window
                set {r, b} to {l + nw, t + nh}

                -- nl = new left coordinate; nt = new top coordinate
                set {nl, nt} to {l, t}

                -- left coordinate is off screen, so set new left coordinate
                -- to be 0 (at the left edge of the desktop)
                if (l < 0) then ¬
                    set nl to 0

                -- top coordinate is above bottom of menu bar (22 pixels tall),
                -- so set new top coordinate to be 22
                if (t < 22) then ¬
                    set nt to 22

                -- right coordinate extends beyond desktop width,
                -- so set new left coordinate to be desktop width - window width
                if (r > dw) then ¬
                    set nl to dw - nw

                -- bottom coordinate extends beyond desktop height,
                -- so set new top coordinate to be desktop height - window height
                if (b > dh) then ¬
                    set nt to dh - nh

                -- if we have calculated a new top or left coordinate, reposition window
                if (l â‰"  nl or t "â‰"  nt) then ¬
                    set position of win to {nl, nt}

                -- if we have calculated a new height or width, resize window
                if (h "â‰"  nh or w "â‰"  nw) then ¬
                    set size of win to {nw, nh}
            end repeat
        end tell
    end repeat
end tell

非常感谢任何帮助或建议。

1 个答案:

答案 0 :(得分:0)

这是一个文字编码问题。

  • ¬替换为¬

还有另外一个错误,但我不确定它代表什么,我猜它是所以

  • "â‰"替换为⌥=