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


0

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

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

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

Ответы:


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

Спасибо вам большое! Еще один последний вопрос: как бы я вставил это в Automator таким образом, чтобы он заменял мою вставку по умолчанию? Или я должен положить этот код в другом месте? Извините, я очень новичок в AS и автоматизации в целом
Tomulent

Вы можете поместить его в сервис для доступа в контекстном меню. Перетащите действие «Выполнить AppleScript» в Automator. Вы также можете сопоставить сценарий с нажатием клавиши.
adayzdone

1

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

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

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

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

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


Это один из способов сделать это, но это добавит еще один шаг в рабочий процесс (Сохранить как). Я должен сделать много из этих переименований, чтобы в конечном итоге замедлить меня. Но спасибо за попытку найти менее техническое решение!
Томулент

Я, должно быть, что-то пропустил в вашем рабочем процессе, как указано: вы сказали - я должен открыть файл, выбрать заголовок, вставить его в поле имени файла ?? Поле имени файла - это то, как оно сохраняется!
Рускес

Я оговорился. Я имею в виду, что я переименую файл в поисковике. Я не могу назвать файл перед загрузкой, поэтому я делаю это в поисковике. Я думаю, я не сделал это по-вашему, потому что для этого потребовалось бы выбросить дубликаты файлов в конце пакета. Я собираюсь сделать два прогона, один с вашим решением и один со сценарием adayzdone и посмотреть, какой из них лучше.
Томулент

Хорошо, тест завершен. Ваше решение оказалось более эффективным. Несмотря на то, что мне приходится каждый раз
стирать

1
Я пометил ответ Адайздоне, потому что он конкретно ответил на вопрос, который я задавал. Я не буду реализовывать это в этом случае, но я уверен, что смогу изменить его в соответствии с другими потребностями в будущем. Ваше решение оказалось лучшим, но если бы у меня было достаточно представителей, я бы оценил его как релевантное, но я думаю, что более уместно поставить галочку на adayzdone.
Томулент
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.