Frage

Ich habe mich gefragt, wie man nur die Dateierweiterung aus einer Zeichenfolge zurückgibt. Ich habe die Variable "Set Variable" ausprobiert, um die Erweiterung von ... zu benennen ", detailliert in Dies Frage, aber das scheint nur für anerkannte Erweiterungen zu funktionieren. Die Idee ist, Dateien mit der Erweiterung '.meta' in ihre eigene Sammlung zu sortieren.

Wie ich jetzt aussieht, sieht ich aus

tell application "Finder'
   set everyName to name of every item in entire contents of this_folder
end tell

set metaFiles to {}

repeat with n from 1 to count of everyName
   set currentName to item n of everyName
   set currentExt to last word of currentName --this assignment fails
   if currentExt is "meta" then
      set end of metaFiles to currentExt
   end if
end repeat

Ich bin brandneu im AppleScript, daher schätze ich jede Hilfe/Richtung. Vielen Dank!

Bearbeiten: Hacky Lösung

Ich habe dies gelöst, indem ich die beschriebene geteilte Funktion verwendete hier den Dateinamen nach jeder Periode aufbrechen. Ich schnappte mich die letzte Zeichenfolge, stellte sicher, dass sie nicht die gleiche wie die erste Zeichenfolge war, falls es keine Periodenzeichen gab, und speicherte dann den entsprechenden Dateinamen.

War es hilfreich?

Lösung

Der Name enthält die Dateierweiterung, unabhängig davon, ob der Finder sie erkennt oder nicht. Sortieren Sie also einfach den Namen wie diesen ...

tell application "Finder"
    set metaFiles to (every item in entire contents of this_folder whose name ends with "meta") as alias list
end tell

Andere Tipps

Wenn Sie keine Namenserweiterung erhalten, stellen Sie sicher, dass es tatsächlich eine gibt und Sie nicht das Ende des Namens betrachten. Wenn Sie Dateien verschieben möchten, müssen Sie auch den Pfad und nicht nur den Namen erhalten. Ich denke nicht, dass es auch ist, dass Sie eine Liste Ihrer Erweiterungen erstellen, die Sie wollen - mehrere verschiedene Zeichen werden für Wortgrenzen verwendet, aber eine Periode ist keine davon.

Fragen Sie nicht einfach den Finder nach Ihren Dateiartikeln?

tell application "Finder"
    set metaFiles to (every item in entire contents of this_folder whose name extension is "meta") as alias list
end tell
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top