更改多个文件夹(电影)的文件夹图标

苏梅特·德什穆克(Sumeet Deshmukh)

如何更改许多文件夹的图标?

如何将每个文件夹的第一张图片设置为其文件夹图标?

我去过这里,但对我不起作用。因为我的电影不在主分区中,所以它们位于另一个ext4分区中,当我尝试将该分区的位置放在该命令中时,它根本不起作用,因为它会自动将/ home / sumeet放在该位置的前面我键入。

第二篇文章中的脚本不起作用!也许我做错了。

[编辑2详细]

{ while read -r d ; do [ -d "$d" ] && [ -e "$d/folder.png" ] || continue ; gvfs-set-attribute -t string "$d" metadata::custom-icon "file://$d/folder.png" ; done ; } < <(find ~/mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I -mindepth 1 -maxdepth 1 -type d)

我从第一篇文章中首先运行了此命令,这给了我很大的帮助

find: ‘/home/sumeet/mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I’: No such file or directory

然后我按照原始帖子中的建议将一些文件移到了home / videos / films并运行了此命令

{ while read -r d ; do [ -d "$d" ] && [ -e "$d/folder.png" ] || continue ; gvfs-set-attribute -t string "$d" metadata::custom-icon "file://$d/folder.png" ; done ; } < <(find ~/Videos/Films -mindepth 1 -maxdepth 1 -type d)

效果很好,但是我无法将我的所有电影收藏移到主文件夹中。

然后我在第二个提到的帖子中尝试了解决方案并运行了

python3 /home/sumeet/change_icon.py </mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I>

并得到了这个输出

bash: syntax error near unexpected token `newline'

然后我想出了,我做错了事,尝试了一下

python3 /home/sumeet/change_icon.py /mnt/c2104e2a-cc8e-4b7b-9bba-a05d316472b4/I

没有得到任何输出,但是也没有用。

然后,我尝试了第二个脚本3到4次。出现了右键单击选项,但是它不起作用,并且我已经完成了两个职位要求的所有工作。我注销,重新登录,尝试重新启动,-q nautilus

似乎没有用。

苏梅特·德什穆克(Sumeet Deshmukh)

该脚本由Jacob Vlijm编写,最初发布在此处

#!/usr/bin/env python3
import subprocess
import os

# --- set the list of valid extensions below (lowercase)
# --- use quotes, *don't* include the dot!
ext = ["jpg", "jpeg", "png", "gif", "icns", "ico"]
# ---

# retrieve the path of the targeted folder
current = os.getenv("NAUTILUS_SCRIPT_CURRENT_URI").replace("file://", "").replace("%20", " ")
dr = os.path.realpath(current)

for root, dirs, files in os.walk(dr):
    for directory in dirs:
        folder = os.path.join(root, directory)
        try:
            first = min(p for p in os.listdir(folder) 
                        if p.split(".")[-1].lower() in ext)
        except ValueError:
            pass
        else:
              subprocess.Popen([
                  "gvfs-set-attribute", "-t", "string",
                  os.path.abspath(folder), "metadata::custom-icon",
                  "file://"+os.path.abspath(os.path.join(folder, first))
                  ])

使用

  1. 创建目录(如果尚不存在)

    ~/.local/share/nautilus/scripts
    
  2. 将脚本复制到一个空文件中,另存~/.local/share/nautilus/scriptsset_foldericons(无扩展名!),右键单击并转到文件属性,使其可执行

  3. 注销并重新登录,即可正常工作。

如果你想隐藏的所有文件夹图标(这样你就不会意外假定它们是文件夹)添加.在文件名的开头,例如folder.png.folder.png

全部设置,一个脚本

原作

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章