AppleScript — мощный язык сценариев, позволяющий пользователям автоматизировать задачи в macOS. Одной из распространенных задач является извлечение всех файлов в папке с определенным расширением. В этой статье мы рассмотрим несколько методов достижения этой цели на примерах кода AppleScript.
Способ 1: использование приложения «Системные события»
set folderPath to POSIX path of (choose folder)
set extension to ".txt" -- desired file extension
tell application "System Events"
set fileList to every file of folder folderPath whose name extension is extension
end tell
-- Display the file names
repeat with aFile in fileList
display dialog name of aFile as text
end repeat
Метод 2. Использование приложения Finder
set folderPath to POSIX path of (choose folder)
set extension to ".txt" -- desired file extension
tell application "Finder"
set fileList to every file of folder folderPath whose name extension is extension
end tell
-- Display the file names
repeat with aFile in fileList
display dialog name of aFile as text
end repeat
Метод 3. Использование команды do Shell script
set folderPath to POSIX path of (choose folder)
set extension to ".txt" -- desired file extension
set shellCommand to "ls " & quoted form of folderPath & " | grep " & quoted form of extension
set fileList to paragraphs of (do shell script shellCommand)
-- Display the file names
repeat with aFile in fileList
display dialog aFile
end repeat
Метод 4: использование комбинации «Системные события» и «Действия с папками».
Этот метод автоматически извлекает файлы с указанным расширением каждый раз, когда файл добавляется в папку.
property extension : ".txt" -- desired file extension
on adding folder items to theFolder after receiving theNewItems
set filteredItems to {}
tell application "System Events"
repeat with anItem in theNewItems
if name extension of anItem is extension then
set end of filteredItems to anItem
end if
end repeat
end tell
-- Display the file names
repeat with aFile in filteredItems
display dialog name of aFile as text
end repeat
end adding folder items to
В этой статье мы рассмотрели несколько методов получения всех файлов в папке с определенным расширением с помощью AppleScript. Независимо от того, предпочитаете ли вы использовать приложение «Системные события», приложение «Finder», команду «do Shell script» или комбинацию «Системные события» и «Действия с папками», теперь вы можете эффективно автоматизировать эту задачу. AppleScript обеспечивает гибкость и мощь управления файлами и папками в macOS, что делает его ценным инструментом автоматизации.