Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I want to have certain folders show a picture I made my own instead of having to use the properties and specifying an *.ico file. Is there a way to use a *.jpg or *.png or *.gif or something like that instead? Or a program / script that allows me to more easily tell that folder to use an image I have.

I don't want to manually convert them because that's tedious to do. I'm planning to do this quite often, as a form of recognition when navigating my folder structure. No, search is not an alternative solution...

share|improve this question
add comment

2 Answers

up vote 5 down vote accepted

As far as I know, for an icon on Windows you must use an .ico file. Although in Win9x days one could get away by using a renamed .bmp, but they look just terrible next to fancy Aero icons – especially since a typical ICO contains several image sizes with transparency layers.

You can use ImageMagick to convert a PNG image to an ICO file:

convert foo.png foo.ico

or if you have PNGs of several sizes,

convert foo-*.png foo.ico

The other part, making Windows use your icon, is easier:

  1. Create a desktop.ini file in your directory, with the following contents:

    [.ShellClassInfo]
    IconFile=folder.ico
    IconIndex=0
    

    Relative paths for IconFile should be supported; they will also work over the network.

    See this MSDN article for detailed instructions on setting the folder icon programmatically.

  2. Mark the directory as either "Read-only" (preferred) or "System":

    attrib +r Music
    

    Without this, Explorer won't even look for desktop.ini customizations, for performance reasons (as explained in The Old New Thing).

  3. Optionally mark desktop.ini as hidden, so that it won't clutter the file list:

    attrib +h +s desktop.ini
    
share|improve this answer
    
What is step 2 used for? –  Tom Wijsman Apr 8 '12 at 20:06
3  
@TomWijsman: Step 2 is required to tell Windows to actually look for a desktop.ini file – this is a performance optimization (Old New Thing post). Step 3 is optional – I personally just don't like seeing the desktop.ini files scattered everywhere. –  grawity Apr 8 '12 at 20:09
    
Thank you for a more accurate answer, as well as a tool that supports multiple file types. :) –  Tom Wijsman Apr 8 '12 at 20:18
    
@StevenPenny: +s has some other side effects, so it's only recommended for real system files/folders. –  grawity Apr 29 '13 at 17:03
    
@grawity what I am saying is that attrib +r Music does not work on my system, only attrib +s Music. –  Steven Penny Apr 29 '13 at 17:14
add comment

Nope, .ICO files are used (exclusively) for the Icons of folders (since, well, they're Icons ;) ).

You're best/only bet is to convert the image file(s) to the .ICO format.

Perhaps check out these for some ideas/utilities to make the conversion easier on you:

Personally I like Axialis' IconWorkshop for all my .ICO needs. :)

As for injecting/assigning them without using the Properties, that's a different story, and actually pretty easy.

You can specify it by creating/modifying the desktop.ini (text) file in the folder you wish to apply the icon to. Note: this file is a 'hidden' and 'system' file.

Example desktop.ini:

[.ShellClassInfo]
IconResource=C:\Users\techie007\Documents\myNukeBall.ico,0
share|improve this answer
    
There is a web service png2ico. No any installation is required. –  crea7or Apr 8 '12 at 19:58
    
This sounds easy to automate with a command-line png2iso (adding that to a right click menu for ease) as well as well as making a file with .\folder.ico instead which I can easy copy / paste and then I make both files hidden. Thank you... –  Tom Wijsman Apr 8 '12 at 20:05
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.