Переименование PDF-файла с помощью Apple Script

#applescript

Вопрос:

Я пытаюсь переименовать элемент finder под названием «Шаблон счета-фактуры.pdf», когда он добавляется в мою папку с помощью Automator. Однако каждый раз, когда запускается скрипт, я получаю сообщение об ошибке Finder: не удается установить файл «Шаблон счета.pdf» в «Счет 11.08.2021.pdf». Есть идеи, почему?

 tell application "Finder"  set dateObj to (current date)  set theMonth to text -1 thru -2 of ("0" amp; (month of dateObj as number))  set theDay to text -1 thru -2 of ("0" amp; day of dateObj)  set theYear to year of dateObj  set dateStamp to "" amp; theMonth amp; "." amp; theDay amp; "." amp; theYear  set theFile to "DBF Invoice Template.pdf"  set theName to "Invoice"  set the name of file theFile to theName amp; " " amp; dateStamp amp; ".pdf"   end tell  

Комментарии:

1. Вы должны назначить переменной файла полный путь HFS вашего pdf-файла.

2. В своем вопросе вы упомянули Automator . Какое отношение к этому имеет Automator ? Когда вы говорите «» Шаблон счета-фактуры.pdf», когда он добавляется в мою папку с помощью Automator», это сценарий действия с папкой , который вы создали в Automator ?

3. @user3439894 Да. Мои извинения, что я забыл упомянуть об этом.

Ответ №1:

 set dateObj to (current date) set theMonth to text -1 thru -2 of ("0" amp; (month of dateObj as number)) set theDay to text -1 thru -2 of ("0" amp; day of dateObj) set theYear to year of dateObj set dateStamp to "" amp; theMonth amp; "." amp; theDay amp; "." amp; theYear  set theFileHFS to (choose file of type "com.adobe.pdf") as text set theName to "Invoice"  tell application "Finder"  set the name of file theFileHFS to theName amp; " " amp; dateStamp amp; ".pdf" end tell  

Комментарии:

1. Есть ли какой-либо способ получить полный путь HFS к моему конкретному PDF-файлу? Он всегда находится в одном и том же месте. Но когда я пробую путь «/Пользователи/Имя пользователя/Dropbox/Счета/Шаблон счета.pdf», он не работает.

2. «/Пользователи/ИМЯ пользователя/Dropbox/Счета/Шаблон счета.pdf» — это не путь HFS, а путь POSIX. Если вы можете просмотреть и выбрать свой pdf-файл в Finder, вы также можете получить правильный путь к файлу HFS, запустив скрипт, установивший файл в (выберите файл типа «com.adobe.pdf») в качестве текста и выбрав свой pdf

3. Finder не понимает пути POSIX, только пути HFS, разделенные двоеточием (которые устарели и имеют проблемы с именами томов). Вы можете использовать системные события, которые понимают пути POSIX, или вы можете принудительно преобразовать строку пути POSIX в значение файла POSIX и передать его в Finder.

4. @RobertKniazidis Сожалеет об этом. Спасибо вам за вашу помощь!

Ответ №2:

Вам нужно сообщить Finder, где находится файл:

 property myFolder: "/Users/MYUSERNAME/Dropbox/Invoices" as POSIX file  tell application "Finder"  ...  set theFile to "DBF Invoice Template.pdf"  set theName to "Invoice"  set the name of file theFile of folder myFolder to theName amp; " " amp; dateStamp amp; ".pdf"   end tell