Скрипт или рабочий процесс для изменения поиска и замены текста в буфере обмена

0

Мне нужно дать уникальные имена для многих, многих файлов, как часть моей работы. Я загружаю десятки PDF-файлов из исследовательской базы данных, которые имеют одно и то же имя (дата загрузки). Я должен открыть файл, выбрать заголовок, вставить его в поле имени файла, а затем войти и вручную удалить двоеточие и заменить его тире.

Эта последняя часть действительно убивает меня, так как практически каждый загружаемый файл имеет двоеточие в заголовке, которое я хочу вставить! То, что я хочу, это то, что изменит содержимое буфера обмена, чтобы я мог просто вставить его в поле именования без необходимости вручную заменять двоеточие.

Короче говоря, я хочу, чтобы любой ":" в моем буфере обмена изменился на "-", прежде чем я вставлю его.

Tomulent
источник

Ответы:

1

Пытаться:

set myText to the clipboard as «class utf8»
set {TID, text item delimiters} to {text item delimiters, ":"}
set myText to text items of myText
set AppleScript's text item delimiters to "-"
set the clipboard to myText as text
set text item delimiters to TID
tell application "System Events" to keystroke "v" using command down
adayzdone
источник
Спасибо вам большое! Еще один последний вопрос: как бы я вставил это в Automator таким образом, чтобы он заменял мою вставку по умолчанию? Или я должен положить этот код в другом месте? Извините, я очень новичок в AS и автоматизации в целом
Tomulent
Вы можете поместить его в сервис для доступа в контекстном меню. Перетащите действие «Выполнить AppleScript» в Automator. Вы также можете сопоставить сценарий с нажатием клавиши.
adayzdone
1

На самом деле нет необходимости в скрипте.

Предполагая, что вы открываете файлы PDF с помощью Adobe Reader!

Копирование текста (заголовков), содержащего (:)

Выберите «Сохранить как» и вставьте текст.

Adobe автоматически изменит (:) в (-)

Ruskes
источник
Это один из способов сделать это, но это добавит еще один шаг в рабочий процесс (Сохранить как). Я должен сделать много из этих переименований, чтобы в конечном итоге замедлить меня. Но спасибо за попытку найти менее техническое решение!
Томулент
Я, должно быть, что-то пропустил в вашем рабочем процессе, как указано: вы сказали - я должен открыть файл, выбрать заголовок, вставить его в поле имени файла ?? Поле имени файла - это то, как оно сохраняется!
Рускес
Я оговорился. Я имею в виду, что я переименую файл в поисковике. Я не могу назвать файл перед загрузкой, поэтому я делаю это в поисковике. Я думаю, я не сделал это по-вашему, потому что для этого потребовалось бы выбросить дубликаты файлов в конце пакета. Я собираюсь сделать два прогона, один с вашим решением и один со сценарием adayzdone и посмотреть, какой из них лучше.
Томулент
Хорошо, тест завершен. Ваше решение оказалось более эффективным. Несмотря на то, что мне приходится каждый раз
стирать
1
Я пометил ответ Адайздоне, потому что он конкретно ответил на вопрос, который я задавал. Я не буду реализовывать это в этом случае, но я уверен, что смогу изменить его в соответствии с другими потребностями в будущем. Ваше решение оказалось лучшим, но если бы у меня было достаточно представителей, я бы оценил его как релевантное, но я думаю, что более уместно поставить галочку на adayzdone.
Томулент