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
Antwort
Warum nicht einfach vom Terminal aus tun.
ls> pix.txt
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
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
sicher für Arbeit? Ich denke, es ist ... –
Ich denke, es hängt davon ab, was die Bilder sind .. – stib