![在 Windows 文件资源管理器中为网络文件夹设置自定义文件夹图标](https://linux22.com/image/1388869/%E5%9C%A8%20Windows%20%E6%96%87%E4%BB%B6%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86%E5%99%A8%E4%B8%AD%E4%B8%BA%E7%BD%91%E7%BB%9C%E6%96%87%E4%BB%B6%E5%A4%B9%E8%AE%BE%E7%BD%AE%E8%87%AA%E5%AE%9A%E4%B9%89%E6%96%87%E4%BB%B6%E5%A4%B9%E5%9B%BE%E6%A0%87.png)
答案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
我已经很久没见过这么多牛了:)
右键单击 --> 属性 --> 自定义 ---> 更改图标在 SMB 共享上不可用。
... ---> 更换图片没有效果。
Windows 不会针对 SMB 共享处理 Desktop.ini,因为 Linux 对(文件夹的)“只读”位的解释不同,并将其错误地报告给 Windows:
- 在 Linux 中,只读就是只读!
- 在 Windows 中,只读(仅限文件夹)意味着处理 Desktop.ini !!!
应该有一个注册表设置,它使用“系统”(超级隐藏)标志而不是“只读”来强制 Desktop.ini 处理,但我从来没有让它按预期工作。
SMB 上缺少对desktop.ini 的处理,这不仅会破坏文件夹图标,还会破坏许多其他东西:符号链接和个性化名称空间也无法正常工作。微软的那些混蛋一直拒绝处理这个问题,从 Windows NT 时代开始就一直如此。
当然,总是可以创建间接链接来访问 SMB 文件夹,并提供那些自定义图标,但这会导致其他多个问题:
- 当您打开父文件夹时,Windows 会默认评估和缓存快捷方式链接,如果文件夹包含指向慢速或休眠网络共享的快捷方式,则会导致资源管理器出现“严重”延迟。
- Windows 中的快捷方式是绝对的,而不是相对的,因此不可移植。如果目标根路径发生变化,这将产生大量维护工作。Windows 还习惯于自动将环境变量转换为绝对链接,从而阻止任何绕过此问题的尝试。
- 他们愚蠢的“分布式链接跟踪客户端”服务让事情变得更加糟糕。
在 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 中任何“图标”或“平铺”视图的人都会看到它。