Set a Custom Folder Icon

Author by Shannon Fritz

Sometimes I have a lot of folders in a directory and I need a visual clue as to where the important ones are.  Often I rename the folder and prefix it with an underscore so it appears at the top of  list, but I had scenario where wanted to leave the name alone, so I looked into customizing the icon that is displayed.  It’s a pretty simple process, so I figured I would share.
  1. Obtain an Icon
    • The image must be an actual Icon file (.ICO) for this to work.  Thankfully there is a really simple solution to convert pretty much any image to an ICO by visiting ConvertIco.com and uploading a file.  IconArchive.com has a nice collection you can browse as well.  Save the icon to your “special” folder and name it something clever like folder.ico
  2. Create the INI file
    • Open notepad and paste the text below into it, then save the file to your “special” folder as desktop.ini (more info)
       
      [.ShellClassInfo]
      IconResource=folder.ico
  3. Mark the folder with the System attribute
    • From a command prompt, use the “attrib” command to mark the folder as a System folder.  This will tell Windows to process the desktop.ini file.
       
      attrib +s pathtoyourfolder
       
  4. Hide the ini and ico files
    • You should now see your fancy icon instead of the default folder.  To clean things up a little, right click the INI and ICO files, select Properties and check the box for “Hidden”.  Now the icon will still be displayed but the files won’t be shown in the folder contents.
The end result looks something like this. N’joy!
Note: If you are using Live Mesh, you should not do this to the folders you are synchronizing to SkyDrive. According to the Help Center, Live Mesh cannot sync / backup folders that have the System Attribute, and even if it could, Live Mesh skips hidden file and desktop.ini files.
Author

Shannon Fritz

Infrastructure Architect & Server Team Lead