2009-06-25 3 views
1

Ich habe einen Ordner voller Bilder und ich muss eine Textdatei aller Bildnamen mit AppleScript erstellen. Gibt es eine Möglichkeit mit Applescript alle Dateinamen von etwa 10k einzulesen und diese dann in eine Textdatei auszugeben? Jede Hilfe wäre großartig! Danke fürs Lesen.Mac-Benutzer benötigt einige Ordner Hilfe mit AppleScript. SFW

+4

sicher für Arbeit? Ich denke, es ist ... –

+0

Ich denke, es hängt davon ab, was die Bilder sind .. – stib

Antwort

5

Warum nicht einfach vom Terminal aus tun.

ls> pix.txt

1

Die folgende Applescript werden die Namen der Dateien in einem Ordner in eine Textdatei schreiben:

property theFolder : "File:Path:To:theFolder:" 

tell application "Finder" 

    -- Create text file on desktop to write filenames to 
    make new file at desktop with properties {name:"theFile.txt"} 
    set theFile to the result as alias 
    set openFile to open for access theFile with write permission 

    -- Read file names and write to text file 
    set theFiles to every item of folder theFolder 
    repeat with i in theFiles 
     set fileName to name of i 
     write fileName & " 
" to openFile starting at eof 
    end repeat 

    close access openFile 

end tell 
1

Sie brauchen nicht um eine Datei zu erstellen, bevor es für die Öffnung der Zugriff. Sie können einfach tun

set theFile to (theFolder & "thefile.txt")as string 
set openFile to open for access theFile with write permission 

Natürlich, wenn die Datei existiert überschreibt es. Sie könnten

set thefile to choose file name with prompt "name the output file" 

‚Dateinamen wählen‘ gibt einen Pfad verwenden, ohne eine Datei zu erstellen, und es fragt den Benutzer, ob sie, wenn die Datei vorhanden ist überschrieben werden soll.

Sie auch ‚Rückkehr‘ verwenden können, ein Spiel zu setzen, wie so einbrechen, macht es den Code ein bisschen ordentlicheres:

write fileName & return to openFile 

Natürlich, wenn Sie wollen eine einfache und elegante Art und Weise der Wenn Sie es tun, ist der Befehl, wo Sie sein müssen.

In diesem Beispiel schreibt das '>' die Ausgabe aus dem Befehl ls (list directory) in eine Datei. Sie können dies aus einem Apple laufen

set thePosixDrectory to posix path of file thedirectory of app "Finder" 
set theposixResults to posix path of file theresultfile of app "Finder" 
do shell script ("ls \"" & thePosixDrectory & "\">\"" & theposixResults & "\"")as string 

die Posix-Pfad Sachen Apple Stil directory:paths:to your:files in Unix-Stil /directory/paths/to\ your/files zu drehen ist.

Beachten Sie, dass die Shell-Skript, das aussehen wird tatsächlich ausgefuehrt wird:

ls "/some/directory/path/">"/some/file/path.txt" 

die Anführungszeichen sind es Leerzeichen oder andere flippige Zeichen zu stoppen das Shell-Script aus verwirrend. Um zu verhindern, dass die Anführungszeichen im Applescript als Anführungszeichen gelesen werden, wurde der Backslash verwendet, um sie zu "entkommen". Sie können auch auf diese Weise einfache Anführungszeichen, für mehr lesbaren Code verwenden:

do Shell-Skript ("ls '" & thePosixDrectory & " '>'" & theposixResults & "'") als String

, die angezeigt die Schale wie

ls '/some/directory/path/'>'/some/file/path.txt' 

HTH