it-swarm.com.de

Wie ändere ich die Symbole mehrerer Dateien im Terminal?

Ich möchte die Symbole mehrerer Dateien vom Terminal aus ändern.
Keine Launcher-Symbole, sondern die Standard-Symbole für Dateitypen, basierend auf den Dateiendungen.
Wie erreiche ich diese Aufgabe?

8
karthick87

"Embleme" werden als Binärdateien im Verzeichnis ~/.local/share/gvfs-metadata gespeichert.

Also brauchst du gvfs-binInstall gvfs-bin damit diese extrahiert und gespeichert werden können. Oh und es gibt eine Datei pro Partition/Volume/Verzeichnis/Datei (um die Sache noch schlimmer zu machen).

Um Informationen zu einem Emblem zu erhalten, können Sie Folgendes verwenden:

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

So legen Sie ein {Symbol} für einen {Dateiname} oder {Ordner} fest:

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

Beispiel:

Ich habe Ordner 1, 2, 3, 4 in ~/Music erstellt.

im1

Befehle im Terminal des Bildes:

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

Ändern Sie die 1 und 2 in eine vorhandene Videodatei oder eine andere tatsächliche Datei und es sollte genauso funktionieren.

und F5 aktualisiert die Bodenplatte.

Wie Sie aus Verzeichnis 3 und 4 erraten können, müssen Sie dies für jede Datei tun, für die Sie dies möchten.

Hier ist ein Skript, das ein Verzeichnis durchläuft und eine PNG-Datei festlegt, die sich im Ordner als Ordner-Emblem befindet (im Grunde ahmt dies die Windows-Methode nach, mit der folder.png als Emblem des darüber liegenden Verzeichnisses verwendet wird).

 #!/usr/bin/python 
 
 importiere os 
 von os.path import join 
 
 cwdir = str ( os.popen ('pwd'). readline (). replace ('\ n', '') 
 
 für root, dirs, files in os.walk (cwdir): 
 für name in files: 
 if name.lower (). find ('. png')! = -1: 
 os.system ('gvfs-set-attribute "' + root + '"metadata :: custom-icon"' + name + '"') 

Möglicherweise können Sie dies in Ihre eigene Version ändern, die Dateien enthält.

verwendung des Skripts auf eigenes Risiko

9
Rinzwind