在 Windows 文件资源管理器中为网络文件夹设置自定义文件夹图标

在 Windows 文件资源管理器中为网络文件夹设置自定义文件夹图标

我访问 Windows 共享并这 '文件夹图标' 部分(底部部分)缺失在其设置中。它会在本地文件夹中正确显示。我希望两者都有。

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

本地文件夹属性窗口

答案1

您需要使用desktop.ini文件来自定义图标。通常,当您使用上面的“更改图标”按钮时,您实际上所做的就是这些。有关完整文档,请参阅:如何使用desktop.ini自定义文件夹 以下是一个示例 desk.ini 文件:

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

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

答案2

我已经很久没见过这么多牛了:)

  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 中的快捷方式是绝对的,而不是相对的,因此不可移植。如果目标根路径发生变化,这将产生大量维护工作。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
===============================================================

答案3

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

答案4

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

任何有权限并使用 Explorer 中任何“图标”或“平铺”视图的人都会看到它。

相关内容