Question

Comment puis-je obtenir une liste de fichiers (* .jpg) de tous les dossiers, à l'aide de Script-FU dans GIMP?

(let* ((filelist (cadr (file-glob pattern 1)))

Ce ne reçoit les fichiers du dossier en cours.

Était-ce utile?

La solution

Ce sera un peu compliqué, mais il peut être fait. La liste des fichiers qui les retours de fichiers glob pour le répertoire courant comprend sous-répertoires. Vous pouvez donc utiliser cette liste pour construire récursive plus glob cordes, qui peuvent être transmises au fichier glob, et ainsi de suite.

(define separator "\\") ; I am using Windows
(define (all-files dir)
  (let* ((patt  (string-append dir separator "*"))
         (files (cadr (file-glob patt 1))))
    (append files (search-dirs files))))
(define (search-dirs dirs)
  (if (null? dirs)
      (list)
      (append (all-files (head dirs)) (search-dirs (tail dirs)))))

Cela fonctionne, mais il est lent. Peut-être que vous pouvez trouver un moyen de le rendre plus rapide?

Par ailleurs, retourne tous les fichiers, pas seulement jpgs. Pour le faire revenir seulement JPGs, modifiez la ligne qui dit « (fichiers append (fichiers search-dirs)) ». Plutôt que de « fichiers » annexant, filtrer les fichiers JPG et append ceux qui ne sont.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top