我想在mac os 10.5上刷新NSTableView
finder中的所有NSBrowserView
。对于刷新图标视图,列表视图和流列表视图,我使用的是Apple脚本。
@"tell application \"Finder\" to update every item in front window"
在浏览器视图中,此脚本仅刷新最后一列。
例如,此脚本仅刷新第三列(icns-copy.m .....)。
有人可以帮帮我吗?
答案 0 :(得分:2)
它只刷新最后一列,因为每个Finder窗口一次只有一个目标文件夹(其内容显示在最后一列)。解决方案是向上走文件夹层次结构并更新父文件夹。
tell application "Finder"
set t to front window's target
repeat
try
update every item in t
set t to t's parent -- go one level up
on error -- e.g. when you reach root
exit repeat
end try
end repeat
end tell
这是一个快速的解决方案,因为它一直上升到磁盘的根目录。理想情况下,它会停在最左边一列显示的文件夹中,但我无法弄清楚如何确定它是什么。
答案 1 :(得分:0)
tell application "Finder"
set view to (get current view of front window as string)
if view is equal to "column view" then
set t to front window's target
set p to folder "Myfolder" of folder "parag" of folder "Users" of startup disk as string
repeat
if (t as string) begins with p then
try
update every item in t
set t to t's parent -- go one level up
on error -- e.g. when you reach root
exit repeat
end try
else
exit repeat
end if
end repeat
end if
end tell