有没有办法轻松设置文件夹使用的图标?

有没有办法轻松设置文件夹使用的图标?

我想让某些文件夹显示我自己制作的图片,而不必使用属性并指定文件*.ico。有没有办法使用*.jpg*.png*.gif或类似的东西来代替?或者一个程序/脚本可以让我更轻松地告诉该文件夹使用我拥有的图像。

我不想手动转换它们,因为那太麻烦了。我打算经常这样做,作为浏览文件夹结构时的一种识别方式。不,搜索不是替代解决方案......

答案1

据我所知,对于 Windows 上的图标,必须使用.ico文件。虽然在 Win9x 时代,人们可以通过使用重命名的 来避免这种情况.bmp,但它们在精美的 Aero 图标旁边看起来很糟糕——尤其是因为典型的 ICO 包含几种带有透明层的图像尺寸。

您可以使用图像魔术师将 PNG 图像转换为 ICO 文件:

convert foo.png foo.ico

或者如果你有多种尺寸的 PNG,

convert foo-*.png foo.ico

另一部分,制作 Windows使用你的图标,更容易:

  1. 创建一个desktop.ini目录中的文件,内容如下:

    [.ShellClassInfo]
    IconFile=folder.ico
    IconIndex=0
    

    相对路径IconFile 应该得到支持;它们也将通过网络工作。

    这篇 MSDN 文章有关以编程方式设置文件夹图标的详细说明。

  2. 将目录标记为“只读”(首选)或“系统”:

    attrib +r Music
    

    如果没有这个,出于性能原因,Explorer 甚至不会查找desktop.ini自定义项(如旧事物新)。

  3. 可选择标记desktop.ini为隐藏,这样它就不会使文件列表混乱:

    attrib +h +s desktop.ini
    

答案2

不,.ICO 文件(专门)用于文件夹的图标(因为,嗯,它们是图标;))。

最好的/唯一的办法是将图像文件转换为 .ICO 格式。

也许可以查看这些想法/实用程序,以使转换更容易:

我个人喜欢Axialis 的 IconWorkshop满足我所有的 .ICO 需求。:)

至于不使用属性来注入/分配它们,那是另一回事,而且实际上非常简单。

desktop.ini您可以通过在要应用图标的文件夹中 创建/修改(文本)文件来指定它。笔记:此文件是‘隐藏’和‘系统’文件。

示例desktop.ini:

[.ShellClassInfo]
IconResource=C:\Users\techie007\Documents\myNukeBall.ico,0

答案3

公共子更改文件夹图标()

Dim FSO As Object
Dim folderPath As String, DesktopIni As String

folderPath = "C:\Users\user_name\Desktop\my_folder"

If Right(folderPath, 1) <> "\" Then folderPath = folderPath & "\"
DesktopIni = folderPath & "Desktop.ini"

Set FSO = CreateObject("Scripting.FileSystemObject")

With FSO
    .GetFolder(folderPath).Attributes = System
    
    If .FileExists(DesktopIni) Then .DeleteFile DesktopIni
    
    With .CreateTextFile(DesktopIni, True)
        .WriteLine "[.ShellClassInfo]"
        ' Windows 10 Icons
        '.WriteLine "IconFile=%SystemRoot%\system32\SHELL32.dll"
        '.WriteLine "IconIndex=12"
        
        ' Custom icon
        .WriteLine "IconFile=C:\Users\user_name\Desktop\my_folder\Icon.ico"
        .WriteLine "IconIndex=0"
        .Close
    End With
    
    .GetFile(DesktopIni).Attributes = Hidden
End With

子目录结束

相关内容