Вам не нужно создавать файл перед тем, как открыть его для доступа. Вы можете просто сделать
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'
НТН