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

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

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

答案1

“徽章”以二进制文件形式存储在目录中~/.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 更改为现有视频文件或任何其他实际文件,它应该可以正常工作。

F5 更新底部面板。

从目录 3 和 4 可以猜到,您需要对每个需要执行此操作的文件都执行此操作。

这是一个遍历目录并将文件夹中的 PNG 设置为文件夹徽标的脚本(基本上,这模仿了 Windows 将其用作folder.png其上级目录的徽标的方法)。

/usr/bin/python 的 #!

导入操作系统
从 os.path 导入 join

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

对于 os.walk(cwdir) 中的根、目录、文件:
    对于文件中的名称:
        如果 name.lower().find('.png') != -1:
            os.system('gvfs-set-attribute“'+root+'”元数据::自定义图标“'+name+'”')

您也许能够将其更改为包含文件的您自己的版本。

使用脚本风险自负

相关内容