Archiv für den Monat: März 2013

Shellscript: Für generische Ordner die folder.jpg automatisch erzeugen

Diverse Multimedia-Boxen nutzen die „folder.jpg“, um ein halbwegs sinnvolles Vorschaubild für den Ordner anzuzeigen. Falls ein solches Bild nicht vorhanden ist, wird stattdessen meist ein Platzhalter angezeigt, welcher sich nicht von anderen Ordnern unterscheidet. Was liegt da näher, als den Ordnernamen selbst in ein folder.jpg zu verwandeln?

Voraussetzung für das nachfolgende bash-Script ist das Tool convert von ImageMagick.

find ${STARTPATH} -maxdepth 1 -type d | grep -vx "." |
while read line
do
  if [ ! -e "${line}/folder.jpg" ]
  then
    echo "${line}/folder.jpg does not exist"
    DRAWTEXT=$(echo "${line}" | sed 's/.*\///')
    convert -size 190x290 -gravity Center  -font Times-Bold -background black -fill dodgerblue label:"${DRAWTEXT}"  -bordercolor black -border 5x5 \( +clone -blur 0x25 -level 0%,50% \) -compose screen -composite "${line}/folder.jpg"
  fi
done

Das obige bash-Script durchläuft aller Ordner auf der ersten Ebene und erstellt für diese folder.jpg, falls die Datei noch nicht vorhanden ist.

Die convert-Anweisung kann man noch leicht anpassen, diese Variante erzeugt ein „stylisches“ Blau-leuchtendes Schriftbild, welches automatisch auf die vorgegebene Größe angepasst wird.