Есть тут кто-нибудь, кто любит разбираться с задачами так же, как и я? Это будет полезно для всех, кому нужно на Mac получить все выбранные имена файлов.
Например, мой случай: заказчик отобрал фотографии, их там больше ста. Теперь этифайлы нужно отметить в Capture One для дальнейшей работы. Раньше я делал это очень неудобным способом: выделял все файлы, копировал, вставлял в поле ввода сайтабраузера, копировал текст, этот текст вставлял в заметки и удалял расширения файлов.По сути, это получалось так же, как и описано, то есть плохо и очень неудобно.
Я искал способы, как это сделать более красиво, и нашёл элегантное решение через встроенный в Mac OS Automator.
- Откройте Automator на вашем Mac.
- Выберите «Новый документ».
- В появившемся окне выберите тип «Быстрое действие» (Quick Action).
- В настройках быстрого действия выберите: Рабочий процесс получает текущие: «Файлы или папки» в: «Finder»
- Добавьте действие «Получить выбранные объекты Finder» (Get Selected Finder Items)
- Добавьте действие «Запустить AppleScript» (Run AppleScript) и вставьте следующий код:
on run {input, parameters}
set fileNames to {}
repeat with aFile in input
set posixPath to POSIX path of aFile
set fileName to last item of my theSplit(posixPath, "/")
if fileName contains "." then
set fileNameWithoutExtension to text 1 thru ((offset of "." in fileName) - 1) of fileName
else
set fileNameWithoutExtension to fileName
end if
copy fileNameWithoutExtension to end of fileNames
end repeat
set fileContent to ""
repeat with aName in fileNames
set fileContent to fileContent & aName & return
end repeat
set desktopPath to (path to desktop folder as text)
set filePath to desktopPath & "SelectedFileNames.txt"
try
set fileRef to open for access file filePath with write permission
set eof of fileRef to 0
write fileContent to fileRef
close access fileRef
on error
try
close access file filePath
end try
end try
return input
end run
on theSplit(theString, theDelimiter)
set oldDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to theDelimiter
set theArray to every text item of theString
set AppleScript's text item delimiters to oldDelimiters
return theArray
end theSplit
Чтобы использовать этот сценарий:
- Выберите файлы в Finder.
- Щелкните правой кнопкой мыши (или Control-клик) на выбранных файлах. В контекстном меню выберите «Быстрые действия» > «Сохранить имена файлов» (или как вы назвали ваш сценарий).
И по выполнении этого сценария вы получите на рабочем столе текстовый документ со всем списком выделенных файлов.
Ссылка на скрипт в тг-канале