Auslesen des Basisdateinamens mit Hilfe von Script-Fu

7

Verwenden von Gimp 2.6.6 für MAC OS X (unter X11), wie von gimp.org heruntergeladen.

Ich versuche einen langweiligen manuellen Prozess mit Script-Fu zu automatisieren. Ich musste den Namen der Bilddatei analysieren, um verschiedene Ebenen als neue Dateien mit einem Suffix für den ursprünglichen Dateinamen zu speichern.

Meine ursprünglichen Versuche sind so gelaufen, aber es ist fehlgeschlagen, weil (string-search ...) nicht unter 2.6 verfügbar ist (eine Änderung an der Skript-Engine?).

%Vor%

Dann habe ich versucht, diese Informationen zu verwenden um den Basisdateinamen mithilfe von Regex zu analysieren, aber (re-match-nth ...) wird ebenfalls nicht erkannt.

%Vor%

Und während der Wert des Vektors ohne Fehler gezogen wurde, wird der resultierende Wert nicht als String betrachtet, wenn er in (string-append ...) übergeben wird.

%Vor%

Also ich denke, meine Frage ist, wie würde ich den Basisdateinamen analysieren?

    
ongle 06.09.2009, 18:09
quelle

6 Antworten

5

Kontext

GIMP 2.6.6 Windows Vista SP2

Ziel

Extrahiere den Basisnamen des ursprünglichen Dateinamens ohne seine Erweiterung.

Symptom

  

Fehler: eval: nicht gebundene Variable:    re-match-nth

Möglicher Vorschlag

GIMP-Menü " Filter " & gt; " Skript-Fu " & gt; " Konsole "

Fügen Sie im Eingabefeld die folgende Script-Fu-Definition der Funktion ein dann drücken Sie die ENTER Taste:

%Vor%

Um die Funktion zu testen, geben Sie ein:

%Vor%

Die Script-Fu-Konsole antwortet:

%Vor%     
user181702 30.09.2009, 09:48
quelle
8

Nicht wirklich eine richtige Lösung:

  

& gt; (Dateiname-Basisname "this.is.a.long.filename.jpg")

     

"das"

Eine bessere Implementierung:

%Vor%     
Fox2 06.06.2010 17:08
quelle
5

Meine Version teilt den Dateinamen (f) in durch Trennzeichen getrennte Teile auf (in diesem Fall "."); lässt den letzten Teil fallen; und verbindet sie erneut mit Trennzeichen

%Vor%

so

%Vor%

und

%Vor%     
philcolbourn 10.06.2012 04:19
quelle
3

Vielen Dank philcolbourn, dass Sie auf eine "einfache" Art und Weise hingewiesen haben, dies zu tun. Leider ist die Butlast-Funktion veraltet: Ссылка

Hier ist philcolbourns Version mit dem vorgeschlagenen Ersatz:

%Vor%     
Meyer 08.09.2012 14:22
quelle
1

Wie in Gimp 2.8 "gimp-image-get-uri" verwendet werden soll, um den Dateinamen einer JPG-Datei zu erhalten, aber gimp-image-get-uri liefert den vollständigen Pfad, habe ich diese Funktion verwendet, um nur die Name des Bildes (ohne das Suffix ".jpg"):

(lassen *)       (uriname (auto (gimp-image-get-uri IMAGE)))       (Basisname (Auto (rückwärts (strbreakup (Auto (strbreakup uriname ".")) "/"))))       ...
      ) ...
)

    
Jakob 12.10.2013 09:25
quelle
0

Für diejenigen, die nach einer echten String-Replace-Funktion suchen, hier ist eine Funktion, die ich für die Verwendung in Script Fu geschrieben habe

%Vor%     
Isaac 16.07.2012 16:48
quelle

Tags und Links