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


9

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


您是否意味着可以在文件管理器中右键单击->属性?
dv3500ea 2011年

是基于文件结尾的启动器图标还是文件类型的默认图标?
约翰娜·拉尔森

是的,我想将多个文件的图标更改为一个图标。
karthick87

不是启动器图标,文件类型的默认图标。
karthick87

Answers:


10

“象征”作为二进制文件存储在directory中~/.local/share/gvfs-metadata

因此,您需要使用gvfs-bin 安装gvfs-bin来提取它们并保存它们。哦,每个分区/卷/目录/文件只有一个文件(使情况更糟)。

要获取标志的信息,可以使用:

gvfs-info -a metadata::emblems {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导入连接

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

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

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

使用脚本的风险自负

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.