我访问Windows共享,并且其设置中缺少“ 文件夹图标 ”部分(底部的部分)。它可以正确显示在本地文件夹中。我想两者兼得。
我访问Windows共享,并且其设置中缺少“ 文件夹图标 ”部分(底部的部分)。它可以正确显示在本地文件夹中。我想两者兼得。
Answers:
您将要使用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视频将图标应用于网络驱动器上的文件夹显示了此过程,但使用了文件夹移动而不是创建新文件夹。
desktop.ini
必须有“隐藏”和“系统”。我不知道该如何在Linux中完成。另外,该desktop.ini
文件必须经过Unicode编码。如果您使用* nix工具创建文件,则可能不会发生这种情况vi
。
attrib +r
或attrib +s
。
解决方法是将图像文件重命名为“ folder.jpg”,并将其放置在共享文件夹中。
具有访问权限并在资源管理器中使用任何“图标”或“平铺”视图的任何人都可以看到它。
自从我看到这么多牛以来已经很长时间了:)
右键单击->属性->自定义--->更改图标在SMB共享上不可用。
... --->更改图片无效。
Windows不会为SMB共享处理Desktop.ini,因为Linux对(文件夹的)“只读”位的解释不同,并将其错误地报告给Windows:
应该有一个注册表设置,该注册表设置通过使用“系统”(超级隐藏)标志而不是“只读”来强制Desktop.ini处理,但是我从未像预期的那样工作。
在SMB上缺少desktop.ini处理会破坏许多其他事情,而不仅仅是文件夹图标:符号链接和个性化名称空间也无法正常工作。微软的流氓只是拒绝处理它,一直到Windows NT。
当然,总是可以创建间接链接来访问SMB文件夹,并改用那些自定义图标,但这会导致其他许多问题:
在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
===============================================================
C:\Icons
在服务器上创建一个图标文件夹(如果不想看到它,可以从属性中隐藏该文件夹)。将.ico
文件放在该文件夹中。在服务器上自定义共享文件夹。现在,将.ico
文件复制到C:\Icons
PC客户端中,但是在PC客户端中(重复)。现在,您将在PC(服务器和客户端)上看到“网络共享”图标。如果无法访问服务器,则只能在客户端上创建快捷方式并更改其图标。
\Users\Public\Documents
或等效可能更好。而且,仅当您要使用文件服务器上尚未存在的图标时,这才是必需的。
desktop.ini
选项的详细列表