AppleScript for gathering all windows error: Expected end of line but found unknown token
AppleScript for gathering all windows error: Expected end of line but found unknown token
关于 AppleScript,我完全是个菜鸟,并且在断开外接显示器时遇到一台 mac 笔记本电脑的问题。断开外接显示器后,打开的文档(如 word 和 excel 文件)会移出屏幕,无法再拖回视图中。
OS X El Capitan 版本 10.11.6 (15G1510)
我找到了一个 AppleScript,它应该收集所有打开的 windows 并将它们显示在监视器上,但我每次都遇到错误。
语法错误:应为行尾但发现未知标记。
这是脚本:
#!/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
如有任何帮助或建议,我们将不胜感激。
这是一个文本编码问题。
- 将
¬
替换为¬
还有一个错误,但我不确定它代表什么我猜是 ≠
所以
- 将
"â‰"
替换为≠
(⌥=)
关于 AppleScript,我完全是个菜鸟,并且在断开外接显示器时遇到一台 mac 笔记本电脑的问题。断开外接显示器后,打开的文档(如 word 和 excel 文件)会移出屏幕,无法再拖回视图中。
OS X El Capitan 版本 10.11.6 (15G1510)
我找到了一个 AppleScript,它应该收集所有打开的 windows 并将它们显示在监视器上,但我每次都遇到错误。
语法错误:应为行尾但发现未知标记。
这是脚本:
#!/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
如有任何帮助或建议,我们将不胜感激。
这是一个文本编码问题。
- 将
¬
替换为¬
还有一个错误,但我不确定它代表什么我猜是 ≠
所以
- 将
"â‰"
替换为≠
(⌥=)