Establecer icono de carpeta personalizada para una carpeta de red en el Explorador de archivos de Windows

Respuestas:

12

Deberá usar un archivo desktop.ini para personalizar el icono. Por lo general, eso es todo lo que realmente haces cuando estás usando el botón "Cambiar icono" de arriba. Para ver la documentación completa, consulte: Cómo personalizar carpetas con desktop.ini A continuación se muestra un ejemplo de archivo desktop.ini:

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

Por otro lado, si desea hacer esto sin tener que crear manualmente el desktop.ini, puede crear una carpeta localmente, aplicar la configuración deseada y robar su desktop.ini. (Si no lo ve, copie toda la carpeta; originalmente debe tener un nombre correcto). El video de YouTube Aplicar un icono a una carpeta en una unidad de red muestra este proceso pero utiliza movimientos de carpeta en lugar de crear una nueva carpeta .

ssnobody
fuente
1
Aquí hay una lista más detallada de desktop.inilas opciones
Tobias Kienzler
1
¿Es posible que esto no funcione para SMB-shares que está alojado en una computadora Linux? Configuré el desktop.ini en mi computadora con Windows e intento ver el árbol de archivos en Windows. Mi desktop.ini no está oculto y no veo mi icono personalizado :( -
Michael Walter
¿Es posible que su desktop.ini tenga otra extensión oculta agregada que esté causando que no se use? No creo que Windows sea sensible al lugar donde se aloja la carpeta, ya sea a través de Windows CIFS nativo o Samba CIFS / SMB.
ssnobody
1
Hay varias trampas. El directorio debe tener el conjunto de atributos "solo lectura"; el desktop.inidebe tener "oculto" y "sistema". No sé cómo se puede hacer eso en Linux. Además, el desktop.iniarchivo debe estar codificado en Unicode. Esto probablemente no sucederá si crea el archivo con herramientas * nix como vi.
G-Man dice 'Restablecer a Mónica' el
1
Tenga en cuenta que también debe configurar la carpeta que contiene a solo lectura (o sistema), por ejemplo, a través de attrib +ro attrib +s.
Tobias Kienzler
2

El método de personalización descrito por ssnobody supone que tiene la capacidad de cambiar la carpeta en la máquina remota y que desea que se cambie la apariencia de todos los usuarios remotos y locales de la carpeta. Si alguno de estos no es cierto, es posible que desee utilizar esta alternativa: cree un acceso directo local a la carpeta remota (por ejemplo, haga clic con el botón derecho, arrástrelo al escritorio local y seleccione "crear acceso directo"), y luego use el cambio normal " icono "del cuadro de diálogo de propiedades para cambiar el icono del acceso directo.

mgkrebbs
fuente
1

Una solución alternativa es cambiar el nombre del archivo de imagen "folder.jpg" y colocarlo en la carpeta compartida.

Cualquiera que tenga acceso y use cualquiera de las vistas de "ícono" o "mosaico" en Explorer lo verá.

BIll R
fuente
Por favor lea la pregunta otra vez cuidadosamente. Su respuesta no responde a la pregunta original. Esto no cambia el icono de la carpeta.
DavidPostill
1

Ha pasado mucho tiempo desde que vi tanto toro :)

  1. Haga clic derecho -> Propiedades -> Personalizar ---> Cambiar icono no está disponible en recursos compartidos SMB.

  2. ... ---> Cambiar imagen no tiene ningún efecto.

  3. Desktop.ini NO es procesado por Windows para recursos compartidos SMB, porque Linux interpreta el bit "Solo lectura" (de la carpeta) de manera diferente, y lo informa a Windows incorrectamente:

    • En Linux, solo lectura significa solo lectura.
    • En Windows, Solo lectura (solo con carpetas) significa procesar Desktop.ini !!!
  4. Se supone que hay una configuración de registro que fuerza el procesamiento de Desktop.ini mediante el uso del indicador "Sistema" (súper oculto) en lugar de "Solo lectura", pero nunca lo hice funcionar como se esperaba.

  5. La falta de procesamiento de desktop.ini en SMB rompe muchas otras cosas, no solo los iconos de carpeta: los enlaces simbólicos y los espacios de nombres personalizados tampoco funcionan. Los vagos de Microsoft simplemente se niegan a lidiar con eso, desde Windows NT.

  6. Por supuesto, siempre es posible crear enlaces indirectos para acceder a las carpetas SMB, y dar esos iconos personalizados en su lugar, pero eso causa muchos otros problemas:

    • Los enlaces de acceso directo se evalúan y almacenan en caché de forma predeterminada en Windows cuando abre la carpeta principal, lo que provoca retrasos "masivos" en el explorador si una carpeta contiene accesos directos para ralentizar o compartir recursos de red.
    • Los accesos directos en las ventanas son absolutos, no son ergo relativos ni portátiles. Esto crea mucho mantenimiento en caso de que cambie la ruta raíz objetivo. Windows también tiene la costumbre de convertir automáticamente los vars del entorno en enlaces absolutos, lo que anula cualquier intento de solucionarlo.
    • Su servicio de "Cliente de seguimiento de enlaces distribuidos" con cerebro de pájaro arruina aún más las cosas.
  7. La mejor manera de implementar enlaces relativos en Windows es usar el script VBS. En forma nativa (texto), el script VBS no tendrá un icono personalizado, pero puede asignar un icono personalizado al archivo EXE si lo compila.

Sin embargo, es mucho trabajo, y el script creará mensajes de advertencia "no confiables" cada vez que lo inicie desde una red, a menos que el script sea local o encuentre una manera de firmarlo.

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
===============================================================
Huésped
fuente
Hay opciones para samba que influyen en cómo Linux informa el atributo "solo lectura" a Windows y que permiten que Desktop.ini sea procesado por Windows para
recursos
0

Cree una carpeta de iconos, por ejemplo, C:\Iconsen el servidor (puede ocultar la carpeta de las propiedades si no desea verla). Pon tus .icoarchivos en esa carpeta. Personaliza tus carpetas compartidas en el servidor. Ahora copie sus .icoarchivos C:\Iconspero en su cliente de PC (como duplicado). Ahora verá los iconos de Network Share en la PC (servidor y cliente). Si no puede acceder al Servidor, solo puede crear accesos directos en el Cliente y cambiar sus iconos.

studiohack
fuente
Esto es difícil de entender y sospechoso. ¿Qué quiere decir con "Personalizar sus carpetas en PC de red"? El OP dice que no puede. ¿Quiere decir que tiene que iniciar sesión directamente en la máquina que comparte la unidad? Además, no se recomienda poner cosas en el directorio raíz.
G-Man dice 'Restablecer a Mónica' el
Claro, debe acceder a la máquina de red si desea personalizar los iconos de carpetas.
Una vez que lo hizo, copie todos sus archivos ico a otra PC (en la misma ruta, por ejemplo, c: \ icons) y verá que su red comparte íconos en ambas máquinas.
(1) Si está diciendo que el usuario debe iniciar sesión directamente en la "máquina de red", le sugiero que haya dicho "Debe iniciar sesión directamente en la máquina remota (servidor de archivos)". El permiso para usar un recurso compartido en un servidor no implica necesariamente permiso / capacidad para iniciar sesión directamente en él. (Y, en mi humilde opinión, "PC de red" es una terminología deficiente.) (2) Todavía recomiendo no poner cosas en el directorio raíz.  \Users\Public\Documentso el equivalente es probablemente mejor. E incluso eso es necesario solo si desea utilizar iconos que aún no están en el servidor de archivos.
G-Man dice 'Restablece a Mónica' el
Ok, pero el usuario quería saber cómo personalizar íconos en \\ server \ share; la respuesta es que tienes que acceder al servidor; y si no coloca los mismos íconos en la misma ruta en su máquina, nunca verá esos íconos (excepto en el servidor). Luego podemos discutir sobre todo lo demás ... terminología, directorios, etc. Quería hacer lo mismo y esa es la única forma :)