How to make the finder refresh a NAS volume mounted using AFP

afpfindernasNetworkrefresh

Regrettably I'm using a WD EX2 on my bridged home network (current and 4th gen Airport Extremes), and the finder doesn't refresh my AFP volumes. The NAS is attached on the 4th gen APE.

Anyone have a solution? I've been relaunching the finder and/or connecting/disconnecting. I'm using 10.10.5 on a late 2012 mac mini. Thank you.

Best Answer

I'm going to throw this out here as a workaround if you can't find a better solution. Many years ago I had a similar situation and this was an issue with the version of Mac OS X at the time and Network Drives and the lack of a Refresh command in Finder, which it still doesn't have. My workaround solution then was an AppleScript that I saved as an application and put it in the Finder Toolbar. You could even use it in an Automator Service in Finder and also assign a keyboard shortcut to it if you want.

What this AppleScript does is creates a hidden file named ".refresh.tmp" and then deletes it, causing the Finder window to refresh/update.

My Refresh Finder AppleScript Code:

tell application "Finder"
    try
        delete (make new file at (front window) with properties {name:".refresh.tmp"})
    end try
end tell

I'm also including some AppleScript code I found on StackOverflow and has been posted on AskDifferent as well although I believe it originated on StackOverflow. Not that any of that really matters other then to give credit to someone other then me for it as I didn't write the code below. It causes all Finder windows to refresh by toggling the View state between Icons and List views.

I use both, because when I have lots of Finder windows open I prefer to use my original solution on the Finder Toolbar, creating/deleting the hidden file, as it's much quicker and usually at that point my focus is on a single Finder window. I have the Automator Service set to use a keyboard shortcut and the script I found on StackOverflow. Obviously you're free to choose how to use or not any of what's provided here.

Refresh Finder AppleScript Code found at: Automator Command to Refresh ALL Finder/all Finder Windows

tell application "Finder"
    set theWindows to every Finder window
    repeat with i from 1 to number of items in theWindows
        set this_item to item i of theWindows
        set theView to current view of this_item
        if theView is list view then
            set current view of this_item to icon view
        else
            set current view of this_item to list view

        end if
        set current view of this_item to theView
    end repeat
end tell

Either one of these AppleScripts can be saved as an AppleScript Application and or an Automator Service, the latter of which a keyboard shortcut can be assigned.

Also, as I do not like the generic icon assigned to either, I added a custom .icns file from the Internet, in this case a refresh symbol. (A .png file can be used as well.)

Creating the Refresh Finder AppleScript Application

  1. Open Script Editor (or AppleScript Editor if applicable).

  2. Copy and paste either of the scripts, from above, into the Untitled document window and then press Compile.

  3. Press S to save and set the File Format: to Application saving it in the Applications folder as Refresh Finder.

  4. Give the Refresh Finder application bundle a custom icon. I used an icon of a refresh symbol found at IconArchive and used this one in particular clicking the 'Download ICNS' button. I opened the downloaded "Iconsmind-Outline-Refresh.icns" file in Preview and copied it, pressing AC and then pasted it into the Get Info sheet of the Refresh Finder.app by first selecting the little icon in the upper left corner of the Refresh Finder Info sheet then pressing V. (In Applications select the Refresh Finder.app and press: I)

  5. Now drag and drop the Refresh Finder application bundle from the Applications folder onto the Finder Toolbar where you would like it to be.

It's now ready to be used, click the Refresh Finder icon in the Toolbar and the Finder window(s*) (*depending on which code your selected) will refresh.

Creating the Refresh Finder Automator Service

  1. Open Automator selecting Service.

  2. Set Service receives selected to no input changing in any application to in Finder. Add a Run AppleScript and then copy and paste the Refresh Finder AppleScript Code above into the Run AppleScript window overwriting the default code.

  3. Save the Service pressing S naming it as Refresh Finder.

  4. Open System Preferences and navigate to Keyboard > Keyboard Shortcuts > Services and scroll to the bottom when under General you'll see Refresh Finder and select it. Now click on add shortcut and press controlcommandR or: ^⌘R

It's now ready to be use as a Service, when Finder has focus, using the keyboard shortcut: ^⌘R

  • Note: You can also give the Refresh Finder Automator Service a custom icon as well. The Service is located in ~/Library/Services and apply the icon in the same manner described above in step 4 of Creating the Refresh Finder AppleScript Application.