In Liste aus Dateinamen suchen und ersetzen

funkkultur

Registriert
Thread Starter
Dabei seit
29.04.2013
Beiträge
3
Reaktionspunkte
0
Hallo!
Ich möchte, nachdem ich aus einem Ordner alle Dateinamen ausgelesen habe, diese von Apple Script in einem bestimmten Stil anordnen lassen.

Zum Auslesen benutze ich folgendes Skript:
Code:
tell application "Finder"
    set allFiles to (every file of (choose folder))
    set theFileList to {}
    repeat with i from 1 to count items of allFiles
        set SingleFile to (item i of allFiles) as alias
        set end of theFileList to ((name of SingleFile) & return) as string
    end repeat
    set the clipboard to the (theFileList as string)
    beep
end tell

Damit bekomme ich die Liste in die Zwischenablage, wo sie folgendermaßen formatiert ist (es geht um Musikdateien):
01 Song1.mp3
02 Song2.mp3
03 Song3.mp3
usw.

Ich möchte, dass sie nach der Bearbeitung so aussieht:
Song1|Song2|Song3 usw.

Möchte also die Nummerierung und Dateiendung löschen und stattdessen | zwischen die Namen setzen. Habe versucht, das mit suchen-und ersetzen-Befehlen zu machen, bisher aber nicht geschafft. Weiß jemand weiter?

Danke!
 
So vielleicht?

tell application "Finder"
set allFiles to (every file of (choose folder))
set theFileList to {}
repeat with i from 1 to count items of allFiles
set SingleFile to (item i of allFiles) as alias
set end of theFileList to items 4 thru -1 of every text item of (name of SingleFile as text) & "|"
end repeat
set the clipboard to the (theFileList as string)
beep
end tell
 
Super, danke! Das ist fast perfekt. Ich habs zu "items 4 thru -5" geändert, damit die Dateiendung auch noch raus ist. So ist es genau, was ich wollte!

Jetzt gibts nur noch einen Schönheitsfehler: Nach dem letzten Dateinamen soll kein | mehr stehen. Den könnte ich zwar problemlos manuell rauslöschen, wenn Apple Script das auch könnte, wärs aber natürlich noch eleganter. Gibts ne Möglichkeit da nur das letzte Element der Liste anzusprechen oder einfach die gesamte Liste um ein Zeichen zu verkürzen?
Danke!
 
Könnte man nach dem selben Prinzip machen:

set the clipboard to items 1 thru -2 of (theFileList as string) as string
 
Zurück
Oben Unten