Пользователь Mac нуждается в некоторой справке папки с applecript. SFW - PullRequest
1 голос
/ 26 июня 2009

У меня есть папка, полная изображений, и мне нужно создать текстовый файл со всеми именами изображений с appleScript. Есть ли какой-нибудь способ с Applescript прочитать все имена файлов, их около 10 тыс., А затем вывести это в текстовый файл? Любая помощь будет отличной! Спасибо за чтение.

Ответы [ 3 ]

5 голосов
/ 26 июня 2009

Почему бы просто не сделать это из терминала.

ls> pix.txt

1 голос
/ 14 июля 2009

Вам не нужно создавать файл перед тем, как открыть его для доступа. Вы можете просто сделать

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

Конечно, если файл существует, он перезапишет его. Вы можете использовать

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

«Выбрать имя файла» возвращает путь без создания файла и спрашивает пользователя, хотят ли они перезаписать файл, если он существует.

Вы также можете использовать 'return', чтобы вставить разрыв строки следующим образом, это делает код немного аккуратнее:

write fileName & return to openFile

Конечно, если вы хотите простой и более элегантный способ сделать это, команда находится там, где вам нужно.

ls>thefile.txt

В этом примере '>' записывает вывод команды ls (list directory) в файл. Вы можете запустить это из яблочного сценария

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

путь пути posix состоит в том, чтобы превратить стиль appleScript directory:paths:to your:files в стиль unix /directory/paths/to\ your/files.

Обратите внимание, что запускаемый скрипт оболочки будет выглядеть так:

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

кавычки предназначены для того, чтобы не допустить путаницы в пробелах или других забавных символах сценария оболочки. Чтобы не читать кавычки как цитаты в appleScript, обратная косая черта использовалась, чтобы «избежать» их. Вы также можете использовать одинарные кавычки для более читабельного кода, например:

сделать скрипт оболочки ("ls" "& thePosixDrectory &" '>' "& theposixResults &" '") в виде строки

, который будет отображаться в оболочке как

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

НТН

1 голос
/ 11 июля 2009

Следующий Applescript запишет имена файлов в папке в текстовый файл:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...