-1

macos10.5のファインダーをすべて更新NSTableViewしたい。NSBrowserViewアイコンビュー、リストビュー、フローリストビューを更新するために、私はアップルスクリプトを使用しています。

@"tell application \"Finder\" to update every item in front window"

ブラウザビューでは、このスクリプトは最後の列のみを更新しています。

たとえば、このスクリプトは3番目の列(icns-copy.m .....)のみを更新しています。

ここに画像の説明を入力してください 誰か助けてくれませんか?

4

2 に答える 2

2

すべてのFinderウィンドウには一度に1つのターゲットフォルダしかありません(そのコンテンツは最後の列に表示されます)ので、最後の列を更新するだけです。解決策は、フォルダー階層を上に移動し、親フォルダーも更新することです。

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

これは、ディスクのルートまで到達するため、手っ取り早い解決策です。理想的には、左端の列に表示されているフォルダで停止しますが、それがどれであるかを判断する方法がわかりませんでした。

于 2012-02-02T14:54:15.130 に答える
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
于 2012-07-23T14:54:45.267 に答える