在Windows File Explorer中为网络文件夹设置自定义文件夹图标


11

我访问Windows共享,并且其设置中缺少文件夹图标 ”部分(底部的部分)。它可以正确显示在本地文件夹中。我想两者兼得。

文件夹属性窗口,其中图标设置突出显示

本地文件夹属性窗口

Answers:


12

您将要使用desktop.ini文件来自定义图标。通常,当您使用上方的“更改图标”按钮时,这就是您要做的所有事情。对于完整的文档,请参阅:如何自定义文件夹与desktop.ini的 一个示例Desktop.ini文件如下:

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

顺便说一句,如果您要执行此操作而不必手动创建desktop.ini,则可以在本地创建一个文件夹,应用所需的设置,然后窃取其desktop.ini。(如果看不到它,请复制整个文件夹;它最初应使用正确的名称。)youtube视频将图标应用于网络驱动器上的文件夹显示了此过程,但使用了文件夹移动而不是创建新文件夹。


1
以下desktop.ini选项的详细列表
Tobias Kienzler 2014年

1
这可能不适用于Linux计算机上托管的SMB共享吗?我在Windows计算机上设置了desktop.ini,然后尝试在Windows中查看文件树。我的desktop.ini没有隐藏,我看不到我的自定义图标:( –
Michael Walter

您的desktop.ini是否可能实际上附加了另一个隐藏扩展名,导致其不被使用?我不认为Windows通过本地Windows CIFS或Samba CIFS / SMB对文件夹的托管位置敏感。
ssnobody 2015年

1
有几个陷阱。该目录必须设置“只读”属性。在desktop.ini必须有“隐藏”和“系统”。我不知道该如何在Linux中完成。另外,该desktop.ini文件必须经过Unicode编码。如果您使用* nix工具创建文件,则可能不会发生这种情况vi
G-Man说'Resstate Monica''Apr

1
请注意,您还需要将包含文件夹设置为只读(或系统),例如通过attrib +rattrib +s
Tobias Kienzler 2015年

2

ssnobody概述的自定义方法假定您具有更改远程计算机上的文件夹的能力,并且希望更改文件夹的所有远程和本地用户的外观。如果这两个都不正确,则可能要使用以下替代方法:创建到远程文件夹的本地快捷方式(例如,右键单击将其拖动到本地桌面并选择“创建快捷方式”),然后使用常规的“更改”属性对话框中的“图标”按钮来更改快捷方式的图标。


1

解决方法是将图像文件重命名为“ folder.jpg”,并将其放置在共享文件夹中。

具有访问权限并在资源管理器中使用任何“图标”或“平铺”视图的任何人都可以看到它。


请仔细阅读问题。您的答案没有回答原始问题。这不会更改文件夹图标。
DavidPostill

1

自从我看到这么多牛以来已经很长时间了:)

  1. 右键单击->属性->自定义--->更改图标在SMB共享上不可用。

  2. ... --->更改图片无效。

  3. Windows不会为SMB共享处理Desktop.ini,因为Linux对(文件夹的)“只读”位的解释不同,并将其错误地报告给Windows:

    • 在Linux中,“只读”表示只读!
    • 在Windows中,“只读”(仅包含文件夹)表示处理Desktop.ini!
  4. 应该有一个注册表设置,该注册表设置通过使用“系统”(超级隐藏)标志而不是“只读”来强制Desktop.ini处理,但是我从未像预期的那样工作。

  5. 在SMB上缺少desktop.ini处理会破坏许多其他事情,而不仅仅是文件夹图标:符号链接和个性化名称空间也无法正常工作。微软的流氓只是拒绝处理它,一直到Windows NT。

  6. 当然,总是可以创建间接链接来访问SMB文件夹,并改用那些自定义图标,但这会导致其他许多问题:

    • 当您打开父文件夹时,默认情况下Windows中会评估和缓存快捷链接,如果文件夹包含用于减慢或休眠网络共享的快捷方式,则会在资源管理器中造成“大量”延迟。
    • Windows中的快捷方式是绝对的,不是相对的Ergo,也不是可移植的。如果目标根路径发生更改,这将产生大量维护。Windows还具有将环境变量自动转换为绝对链接的习惯,从而克服了任何尝试解决此问题的尝试。
    • 他们机灵的“分布式链接跟踪客户端”服务将事情弄得更糟。
  7. 在Windows中实现相对链接的最佳方法是使用VBS脚本。VBS脚本以本机(文本)格式没有自定义图标,但是如果您对其进行编译,则可以将自定义图标分配给EXE文件。

但是,这需要进行大量工作,并且每次从网络启动脚本时,该脚本都会创建“不受信任的”警告消息,除非该脚本是本地的或您找到了对其进行签名的方法。

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
===============================================================

samba的选项会影响Linux向Windows报告“只读”属性的方式,并允许Windows处理Windows中的SMB共享
ssnobody

0

C:\Icons在服务器上创建一个图标文件夹(如果不想看到它,可以从属性中隐藏该文件夹)。将.ico文件放在该文件夹中。在服务器上自定义共享文件夹。现在,将.ico文件复制到C:\IconsPC客户端中,但是在PC客户端中(重复)。现在,您将在PC(服务器和客户端)上看到“网络共享”图标。如果无法访问服务器,则只能在客户端上创建快捷方式并更改其图标。


这很难理解和可疑。“在网络PC上自定义文件夹”是什么意思?OP说他不能。您是说他必须直接登录共享驱动器的计算机吗?另外,也不建议将内容放入根目录。
G-Man说'Resstate Monica''Aug

当然,如果要自定义文件夹图标,则必须访问网络计算机。

完成后,将所有ico文件复制到另一台PC(以相同路径,例如c:\ icons),您将在两台计算机上看到网络共享图标。

(1)如果您说用户必须直接登录到 “网络计算机”,那么我建议您应该 “您必须直接登录到远程计算机(文件服务器)”。在服务器上使用共享的权限不一定意味着直接登录到该共享的权限/能力。(而且,恕我直言,“网络PC”是一个较差的术语。)(2)我仍然建议不要将内容放在根目录中。  \Users\Public\Documents或等效可能更好。而且,仅当您要使用文件服务器上尚未存在的图标时,这才是必需的。
G-Man说'Resstate Monica''Apr

好的,但是用户想知道如何自定义\\ server \ share上的图标;答案是您必须访问服务器;如果您没有在计算机上的相同路径中放置相同的图标,那么您将永远不会看到这些图标(服务器上除外)。然后,我们可以讨论其他所有内容……术语,目录等。我想做同样的事情,那是唯一的方法:)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.