Definir ícone de pasta personalizada para uma pasta de rede no Windows File Explorer

11

Eu acesso um compartilhamento do Windows e a seção ' ícone da pasta ' (a parte inferior) está ausente nas configurações. Ele aparece corretamente nas pastas locais. Eu gostaria de tê-lo com os dois.

Uma janela de propriedades da pasta com a configuração do ícone destacada

Uma janela de propriedades da pasta local


fonte

Respostas:

12

Você deseja usar um arquivo desktop.ini para personalizar o ícone. Normalmente, é tudo o que você faz quando usa o botão "Alterar ícone" acima. Para obter a documentação completa, consulte: Como personalizar pastas com o desktop.ini Um exemplo de arquivo desktop.ini a seguir:

[DeleteOnCopy]
Owner=MyUser
Personalized=13
PersonalizedName=My Folder
[.ShellClassInfo]
[email protected],-12689
IconFile=%SystemRoot%\system32\shell32.dll
IconIndex=-237

Além disso, se você quiser fazer isso sem precisar criar manualmente o desktop.ini, poderá criar uma pasta localmente, aplicar as configurações desejadas e roubar seu desktop.ini. (Se você não o vir, copie a pasta inteira; deve ter um nome correto originalmente.) O vídeo do youtube Aplicar um ícone a uma pasta em uma unidade de rede mostra esse processo, mas usa movimentos de pasta em vez de criar uma nova pasta .

ssnobody
fonte
1
Aqui está uma lista mais detalhada de desktop.iniopções
Tobias Kienzler
1
É possível que isso não esteja funcionando para compartilhamentos SMB hospedados no computador Linux? Eu configuro o desktop.ini no meu computador Windows e tento ver a árvore de arquivos no Windows. Meu desktop.ini não está oculto e não vejo meu ícone personalizado :( -
Michael Walter
É possível que o seu desktop.ini tenha realmente uma outra extensão oculta anexada que esteja causando a sua não utilização? Não acredito que o Windows seja sensível ao local em que a pasta está sendo hospedada, seja pelo CIFS nativo do Windows ou pelo Samba CIFS / SMB.
ssnobody
1
Existem várias dicas. O diretório deve ter o atributo "somente leitura" definido; o desktop.inideve ter "oculto" e "sistema". Não sei como isso pode ser feito no Linux. Além disso, o desktop.iniarquivo deve ser codificado em Unicode. Provavelmente isso não acontecerá se você criar o arquivo com ferramentas * nix como vi.
G-Man diz que 'Reintegrar Monica'
1
Observe que você também precisa definir a pasta que contém como somente leitura (ou sistema), por exemplo, via attrib +rou attrib +s.
Tobias Kienzler
2

O método de personalização descrito por ssnobody pressupõe que você tenha a capacidade de alterar a pasta na máquina remota e que deseja que a aparência seja alterada para todos os usuários remotos e locais da pasta. Se uma dessas opções não for verdadeira, convém usar esta alternativa: crie um atalho local para a pasta remota (por exemplo, clique com o botão direito do mouse e arraste-o para a área de trabalho local e selecione "criar atalho") e, em seguida, use a alteração "normal" ícone "da caixa de diálogo de propriedades para alterar o ícone do atalho.

mgkrebbs
fonte
1

Uma solução alternativa é renomear o arquivo de imagem "folder.jpg" e colocá-lo na pasta compartilhada.

Qualquer pessoa com acesso e usando qualquer uma das visualizações "ícone" ou "lado a lado" no Explorer o verá.

BIll R
fonte
Por favor, leia a pergunta novamente com atenção. Sua resposta não responde à pergunta original. Isso não altera o ícone da pasta.
DavidPostill
1

Já faz muito tempo desde que eu vi tanto touro :)

  1. Clique com o botão direito do mouse -> Propriedades -> Personalizar ---> O ícone Alterar não está disponível nos compartilhamentos SMB.

  2. ... ---> Alterar imagem não tem efeito.

  3. O Desktop.ini NÃO é processado pelo Windows para compartilhamentos SMB, porque o Linux interpreta o bit "Somente leitura" (da pasta) de maneira diferente e o reporta incorretamente ao Windows:

    • No Linux, somente leitura significa somente leitura!
    • No Windows, somente leitura (somente com pastas) significa processar o Desktop.ini !!!
  4. Supõe-se que haja uma configuração de registro que force o processamento do Desktop.ini usando o sinalizador "Sistema" (super oculto) em vez de "Somente leitura", mas nunca consegui que ele funcionasse conforme o esperado.

  5. A falta de processamento desktop.ini no SMB quebra muitas outras coisas, não apenas os ícones de pastas: links simbólicos e espaços de nomes personalizados também não funcionam. Os vagabundos da Microsoft estão se recusando a lidar com isso, desde o Windows NT.

  6. É claro que sempre é possível criar links indiretos para acessar as pastas SMB e fornecer esses ícones personalizados, mas isso causa vários outros problemas:

    • Os links de atalho são avaliados e armazenados em cache por padrão no Windows quando você abre a pasta pai, causando atrasos "maciços" no explorer se uma pasta contiver atalhos para retardar ou adormecer compartilhamentos de rede.
    • Os atalhos no Windows são absolutos, não são relativos, portanto, não são portáteis. Isso cria muita manutenção caso o caminho raiz de destino seja alterado. O Windows também tem o hábito de converter automaticamente vars de ambiente em links absolutos, derrotando qualquer tentativa de contornar isso.
    • O serviço "Cliente de rastreamento de link distribuído", que faz o cérebro das pessoas, estraga ainda mais as coisas.
  7. A melhor maneira de implementar links relativos no Windows é usar o script VBS. No formato nativo (texto), o script VBS não terá um ícone personalizado, mas você pode atribuir um ícone personalizado ao arquivo EXE se compilá-lo.

Porém, isso é muito trabalhoso, e o script criará mensagens de aviso "não confiáveis" toda vez que você o iniciar a partir de uma rede, a menos que o script seja local ou você encontre uma maneira de assiná-lo.

VBS Relative Link example:
============================
'  This is a VB Script, which emulates a RELATIVE file link/shortcut in Win XP
'
'  1) The first  line declares an untyped variable      ==> objshell
'
'  2) The second line instantiates a new object derived from    ==> Shell.Application
'
'  3) The third  line invokes the object's method       ==> ShellExecute
'
'     with the following parametters:   "target path"
'                                       "target's arguments"
'                   "starting directory"
'                   "action verb"
'                                       Initial window mode:  0 = Hidden Window
'                                                             1 = Normal Window
'                                                             2 = Minimized
'                                                             3 = Maximized
'                                                             4 = Most recent size and position, keep active window active
'                                                             5 = Current size and position
'                                                             6 = 
'                                                             7 = Minimized, keep active window active
'                                10 = Default state specified by target application
'
'  4) The last line frees/destroys the shell object
'
'
dim objShell
set objShell = CreateObject("Shell.Application")
objShell.ShellExecute                                 _
  "..\..\..\SomePath_Three_Dirs_UP_etc"              ,_
  ""                                                 ,_
  ""                                                 ,_
  "open"                                             ,_
  1
set objShell = nothing
===============================================================
Convidado
fonte
Há opções para samba que influenciam como o Linux relata o atributo "somente leitura" para o Windows e que permitem Desktop.ini para serem processados pelo Windows para compartilhamentos SMB
ssnobody
0

Crie uma pasta de ícones, por exemplo, C:\Iconsno servidor (você pode ocultar a pasta das propriedades se não quiser vê-la). Coloque seus .icoarquivos nessa pasta. Personalize suas pastas compartilhadas no servidor. Agora copie seus .icoarquivos para, C:\Iconsmas no seu cliente de PC (como duplicado). Agora você verá os ícones de compartilhamento de rede no PC (servidor e cliente). Se você não puder acessar o servidor, poderá criar apenas atalhos no cliente e alterar seus ícones.

studiohack
fonte
Isso é difícil de entender e suspeito. O que você quer dizer com "Personalize suas pastas no PC em rede". O OP diz que não pode. Você quer dizer que ele precisa fazer login diretamente na máquina que está compartilhando a unidade? Além disso, não é recomendável colocar coisas no diretório raiz.
G-Man diz 'Reinstate Monica'
Claro, você precisa acessar a máquina de rede se quiser personalizar os ícones das pastas.
Depois de fazer isso, copie todos os seus arquivos ico para outro PC (no mesmo caminho, por exemplo, c: \ icons) e você verá sua rede compartilhar ícones nas duas máquinas.
(1) Se você está dizendo que o usuário deve fazer login diretamente na "máquina de rede", sugiro que você tenha dito "Você deve fazer login diretamente na máquina remota (servidor de arquivos)". A permissão para usar um compartilhamento em um servidor não implica necessariamente permissão / capacidade de efetuar login diretamente nele. (E, IMHO, “PC em rede” é uma terminologia ruim.) (2) Eu ainda recomendo não colocar as coisas no diretório raiz.  \Users\Public\Documentsou o equivalente é provavelmente melhor. E mesmo isso é necessário apenas se você deseja usar ícones que ainda não estão no servidor de arquivos.
G-Man diz 'Reinstate Monica'
Ok, mas o usuário queria saber como personalizar ícones no \\ server \ share; a resposta é que você precisa acessar o servidor; e se você não colocar os mesmos ícones no mesmo caminho em sua máquina, nunca os verá (exceto no servidor). Então, podemos discutir sobre tudo o resto ... terminologia, diretórios, etc. Eu queria fazer a mesma coisa e que é a única maneira :)