如何从终端更改多个文件的图标?

我想从终端更改多个文件的图标。
不是启动器图标,而是文件类型的默认图标,基于文件结尾。
如何实现这个任务?

“emblems”作为二进制文件存储在目录~/.local/share/gvfs-metadata

所以你需要gvfs-bin 安装gvfs-bin 为此能够提取并保存它们。 哦,每个分区/卷/目录/文件有一个文件(使事情变得更糟)。

要获得有关徽章的信息,您可以使用:

gvfs-info -a metadata::emblems {filename|folder}

要为{filename}或{folder}设置{icon},请使用:

gvfs-set-attribute -t stringv {filename|folder} metadata::emblems {icon}

例:

我在〜/ Music中创建了文件夹1,2,3,4。

IM1

图像终端内的命令:

gvfs-set-attribute 1 metadata::custom-icon file:///usr/share/pixmaps/gnome-log.png

gvfs-set-attribute 2 metadata::custom-icon file:///usr/share/pixmaps/gnome-spider.png

将1和2更改为现有video文件或任何其他实际文件,它应该工作相同。

和F5更新底部面板。

正如你可以从目录3和4中猜到的那样,你需要为你想要的每个文件做到这一点。

这是一个脚本,它遍历一个目录并设置一个驻留在文件夹中的PNG作为文件夹标志(基本上这模仿了使用folder.png作为其上面目录标志的Windows方法)。

 #!的/ usr / bin中/python

import口
来自os.path导入连接

 cwdir = str(os.popen('pwd')。readline())。replace('\ n','')

对于root,dirs,os.walk(cwdir)中的文件:
    对于文件中的名称:
        如果name.lower()。find('。png')!= -1:
             os.system('gvfs-set-attribute“'+ root +'”metadata :: custom-icon“'+ name +'”')

您可以将其更改为包含文件的自己的版本。

脚本的使用风险自负