答案1
我最终创建了一个脚本来解决我的问题。这不完全是一个备份解决方案,但它对我有用。
#!/bin/bash
folderToBeUpdated="$HOME/folderToInsertIconsRecursively"
iconsFolder="$HOME/.icons"
file="$(mktemp)"
# Generate a recursive list of all folders and files inside the folder $folderToBeUpdated
ls -R "$folderToBeUpdated" | awk '
/:$/&&f{s=$0;f=0}
/:$/&&!f{sub(/:$/,"");s=$0;f=1;next}
NF&&f{ print s"/"$0 }' > $file
# Start inserting icons dynamically on files and folders
while IFS='' read -r line || [[ -n "$line" ]]; do
folderName="$(basename "${line}")"
pathName="$(dirname "${line}")"
if [ -f "$iconsFolder"/"$folderName".png ]
then
gvfs-set-attribute -t string "$pathName/$folderName" metadata::custom-icon "file://$iconsFolder/$folderName.png"
fi
done < $file
这个脚本的想法是我们需要给它两个文件夹的路径:
- 充满图标的文件夹的路径(
iconsFolder
) - 我们希望递归放置图标的文件夹的路径(
folderToBeUpdated
)
脚本将查看图标和文件夹一样的名字然后它就会如果情况属实,则在特定文件夹上插入图标,例如里面folderToBeUpdated
有一个名为 的文件夹,而我有一个名为example
的图标,因此该图标将作为文件夹的图标插入(如果名称不一样,脚本将不会执行任何操作)。example.png
iconsFolder
example.png
example
PS:运行脚本后需要按下F5
才能看到图标。
这只是一个功能脚本,但它非常有用,因为我可以轻松地在不同的计算机上复制我的图标。无论如何,如果有人知道以更方便的方式备份图标的方法,请随时在评论中写一个新的答案或提出建议。