#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