हर फोल्डर की पहली तस्वीर को उसके फोल्डर आइकन के रूप में कैसे सेट करें?


19

यदि फ़ोल्डर में चित्र A, B, C ..... Z हैं, तो मैं इनमें से प्रत्येक फ़ोल्डर में पहला चित्र अपने फ़ोल्डर आइकन के रूप में कैसे सेट कर सकता हूं? क्या स्क्रिप्ट की तरह कोई रास्ता है या कुछ और है?

जवाबों:


28

1. स्वचालित रूप से फ़ोल्डर आइकन को पहले मिली छवि के अंदर बदल दें

नीचे दी गई पाइथन लिपि एक डायरेक्टरी के अंदर सभी फोल्डर के आइकन को बदल देगी (पुनरावर्ती रूप से) फोल्डर के अंदर पहले पाए गए वैध इमेज फाइल में।

लिपी

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

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

dr = sys.argv[1]

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))
                  ])

Pastebin से डाउनलोड करें

कैसे इस्तेमाल करे

  1. स्क्रिप्ट को एक खाली फ़ाइल में कॉपी करें, इसे सहेजें change_icon.py
  2. स्क्रिप्ट के प्रमुख में, संपादित करें, यदि आपको पसंद है, तो मान्य आइकन छवियों के रूप में उपयोग की जाने वाली एक्सटेंशन की सूची।
  3. इसे एक तर्क के रूप में लक्षित निर्देशिका के साथ चलाएँ:

    python3 /path/to/change_icon.py <targeted_directory>

बस!

2. अधिक उन्नत

... इसे नॉटिलस में राइट-क्लिक का विकल्प बनाना है:

यहाँ छवि विवरण दर्ज करें

स्क्रिप्ट फिर थोड़ी अलग है:

#!/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))
                  ])

Pastebin से डाउनलोड करें

काम में लाना

  1. बनाएँ, अगर यह अभी तक मौजूद नहीं है, तो निर्देशिका

    ~/.local/share/nautilus/scripts
  2. एक खाली फ़ाइल में स्क्रिप्ट की प्रतिलिपि बनाएँ, इसे (कोई एक्सटेंशन नहीं!) के ~/.local/share/nautilus/scriptsरूप में सहेजें set_foldericonsऔर इसे निष्पादन योग्य बनाएं

  3. लॉग आउट करें और वापस, यह काम करता है।

टिप्पणियाँ

  • यह राइट-क्लिक किए गए फ़ोल्डर के अंदर सभी फ़ोल्डरों के आइकन को बदल देगा , न कि स्वयं फ़ोल्डर के।
  • चूंकि os.path.realpath()उपयोग किया जाता है, यह भी काम करता है यदि लक्षित फ़ोल्डर एक लिंक है।

संपादित करें

पुनरावर्ती रूप से किसी निर्देशिका के अंदर कस्टम आइकन को पूर्ववत् (रीसेट) करें

यदि, किसी कारण से आप किसी फ़ोल्डर के अंदर के आइकन को अपने डिफ़ॉल्ट आइकन (ओं) पर रीसेट करना चाहते हैं, तो नीचे दी गई स्क्रिप्ट का उपयोग करें। सीधे शब्दों में:

  • इसे एक खाली फ़ाइल में कॉपी करें, इसे इस रूप में सहेजें reset_icons.py
  • इसे कमांड द्वारा चलाएं:

    python3 /path/to/reset_icons.py <target_directory>

लिपी

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

dr = sys.argv[1]

for root, dirs, files in os.walk(dr):
    for directory in dirs:
        folder = os.path.join(root, directory)
        subprocess.Popen([
            "gvfs-set-attribute", os.path.abspath(folder),
            "-t", "unset", "metadata::custom-icon"
            ])

मैंने पाया कि मुझे पूरा रास्ता इनपुट करना था, जैसे कि "/ होम / यूजर / फोल्डरनाम"
JulianLai

यदि वे इस फ़ंक्शन को Nautilus में जोड़ते हैं, तो यह एक बेहतर फ़ाइल प्रबंधक होगा।
जूलियनलाई


टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
टेराडॉन

@JacobVlijm फ़ोल्डर में पहली छवि के बजाय मैं इसे एक अद्वितीय फ़ाइल चुनने के लिए बना सकता हूं, उदाहरण के लिए .folder.pngहर फ़ोल्डर में। यह एक से अधिक छवि वाले निर्देशिकाओं के लिए वास्तव में मददगार है। मैं इस स्क्रिप्ट का उपयोग किया गया है और है कि एक सुधार है कि मैं उस में देखने के लिए अच्छा लगेगा है askubuntu.com/questions/900785/...
सुमित देशमुख
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.