3

我一直在使用蘋果腳本來更新查找器中文件和文件夾的顯示。這是該腳本的簡化版本:Finder更新/刷新applescript不工作10.8

tell application "Finder" 
    tell window 1 to update items 
end tell 

我可以看到,自從10.8(Mountain Lion)更新命令沒有正確執行或根本沒有執行。在10.8之前,一切正常運行 - 更新命令後立即重繪所有圖標。 我用它來顯示重疊圖標。

有沒有遇到過同樣的問題? 我責怪finder改變了蘋果腳本API,因爲如果我觸摸-a -m文件,它會被更新。所以有一定的方法來更新它。

+0

在10.8.2上,腳本不在列表和流視圖中。 – 2012-10-25 11:01:59

+0

在http://bugreporter.apple.com上提交錯誤報告 – 2013-05-24 11:18:23

+0

與此同時,我通過另一個代碼注入到查找器中解決了這個問題(因爲我爲某些覆蓋圖標執行此操作),而且我沒有發現其他可靠和乾淨的解。 – 2013-06-25 15:57:15

回答

1

我和你有同樣的問題。當我使用10.8 SDK構建應用程序時,我即將發佈應用程序,但Mountain Lion只是打破了我的「Refresh Finder Windows」和「顯示/隱藏隱藏文件」菜單選項。我試過一切都無濟於事。似乎有幫助的唯一情況是,如果您再次寫入Finder首選項之前等待60-90秒。

在終端:

默認寫com.apple.Finder AppleShowAllFiles TRUE & & killall搜索

等待約一分鐘到一分鐘半,然後反轉命令,象這樣:

默認寫入com.apple.Finder AppleShowAllFiles FALSE & & killall Finder

(我不知道如何去掉sh Finder通過終端,但也許這種延遲將以某種方式幫助你。)

這是我目前知道的讓Finder窗口做我想要的任何事情的唯一方法。非常令人沮喪;我希望有人能夠很快弄清楚,否則我的主要賣點之一就消失了。

克里斯

+0

我也看到了延遲。當我將更新命令發送到查找程序時,需要一些時間(可能是延遲)才能真正刷新圖標。好像蘋果已經做了一些finder的「優化」,所以它不會立即刷新。無論如何,這對我來說沒有用處,因爲我需要實時重新繪製圖標。 – 2012-08-27 15:32:34

2

可以在取景器創建可見文件刷新Finder窗口。

tell application "Finder" 
    set currentPath to (POSIX path of (target of front window as alias)) 
    set filePath to currentPath & "UUID" --create UUID 
    do shell script "touch \"" & filePath & "\"" 
    delay 0.5 
    do shell script "rm \"" & filePath & "\"" 
end tell 
+0

感謝您分享此Parag。我的桌面上有一個應用程序包。我改變了它的資源文件夾中的icns文件,但沒有更新。當我嘗試運行此代碼時,出現此錯誤:'AppleScript錯誤 - 無法將應用程序「Finder」的窗口1的«class fvtg»改爲類型別名。「你知道我該如何解決這個問題嗎?你認爲這會刷新我的標誌嗎? – Noitidart 2015-01-12 19:57:48

+0

哦,即時通訊使用10.9順便說一句,但即時尋找一個解決方案,在所有> = 10.5 – Noitidart 2015-01-12 21:34:23

+0

@Parag Banfna此腳本工作或執行只是第一次,然後這個腳本將不會執行或工作.. :(你可以讓我知道爲什麼會發生? – jigs 2015-10-29 09:32:32