Existe uma maneira de definir facilmente o ícone que uma pasta usa?

8

Quero que determinadas pastas mostrem uma imagem que criei em vez de precisar usar as propriedades e especificar um *.icoarquivo. Existe uma maneira de usar um *.jpgou *.pngou *.gifou algo parecido? Ou um programa / script que me permita dizer mais facilmente a essa pasta para usar uma imagem que eu tenho.

Não quero convertê-los manualmente, porque é tedioso. Estou planejando fazer isso com bastante frequência, como forma de reconhecimento ao navegar na estrutura da minha pasta. Não, a pesquisa não é uma solução alternativa ...

Tamara Wijsman
fonte

Respostas:

11

Tanto quanto eu sei, para um ícone no Windows, você deve usar um .icoarquivo. Embora nos dias Win9x se possa fugir usando um renomeado .bmp, eles parecem terríveis ao lado dos ícones sofisticados do Aero - especialmente porque uma ICO típica contém vários tamanhos de imagem com camadas de transparência.

Você pode usar o ImageMagick para converter uma imagem PNG em um arquivo ICO:

convert foo.png foo.ico

ou se você tiver PNGs de vários tamanhos,

convert foo-*.png foo.ico

A outra parte, fazendo o Windows usar seu ícone, é mais fácil:

  1. Crie um desktop.iniarquivo em seu diretório, com o seguinte conteúdo:

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

    Caminhos relativos para IconFile devem ser suportados; eles também trabalharão pela rede.

    Consulte este artigo do MSDN para obter instruções detalhadas sobre como definir o ícone da pasta programaticamente.

  2. Marque o diretório como "Somente leitura" (preferencial) ou "Sistema":

    attrib +r Music
    

    Sem isso, o Explorer nem procurará desktop.inipersonalizações, por razões de desempenho (conforme explicado em The Old New Thing ).

  3. Opcionalmente, marque desktop.inicomo oculto, para que não desorganize a lista de arquivos:

    attrib +h +s desktop.ini
    
user1686
fonte
Para que é utilizado o passo 2?
Tamara Wijsman
3
@ TomWijsman: A Etapa 2 é necessária para informar ao Windows para realmente procurar um desktop.iniarquivo - essa é uma otimização de desempenho ( publicação Old New Thing ). O passo 3 é opcional - eu pessoalmente não gosto de ver os desktop.iniarquivos espalhados por toda parte.
usar o seguinte comando
Obrigado por uma resposta mais precisa, bem como por uma ferramenta que suporta vários tipos de arquivos. :)
Tamara Wijsman
@StevenPenny: +stem alguns outros efeitos colaterais, por isso é recomendado apenas para arquivos / pastas reais do sistema.
usar o seguinte comando
@rawrawity o que estou dizendo é que attrib +r Music não funciona apenas no meu sistema attrib +s Music.
Steven Penny
2

Não. Os arquivos .ICO são usados ​​(exclusivamente) para os ícones das pastas (já que, bem, são ícones;)).

A melhor aposta é que você converta o (s) arquivo (s) de imagem para o formato .ICO.

Talvez verifique estas idéias / utilitários para facilitar a conversão:

Pessoalmente, eu gosto do IconWorkshop da Axialis para todas as minhas necessidades .ICO. :)

Quanto a injetá-los / atribuí-los sem usar as Propriedades, é uma história diferente e, na verdade, bastante fácil.

Você pode especificá-lo criando / modificando o desktop.iniarquivo (texto) na pasta à qual deseja aplicar o ícone. Nota : este arquivo é um arquivo 'oculto' e 'sistema'.

Exemplo desktop.ini:

[.ShellClassInfo]
IconResource=C:\Users\techie007\Documents\myNukeBall.ico,0
Ƭᴇcʜιᴇ007
fonte
Existe um serviço web png2ico . Nenhuma instalação é necessária.
crea7or
Parece fácil de automatizar com um png2iso da linha de comando (adicionando isso ao menu do botão direito para facilitar), além de criar um arquivo com o .\folder.icoqual eu possa copiar / colar com facilidade e depois oculto os dois arquivos. Obrigado ...
Tamara Wijsman