Изменение имени файла скриншота по умолчанию

15

Есть ли способ изменить префикс имени файла скриншота по умолчанию (скриншот Cmd-Shift-4типа) на что-то отличное от стандартного? Имя по умолчанию выглядит так:

Screen Shot 2011-08-30 at 10.01.36 AM.png

Но я бы предпочел использовать что-то вроде:

screenshot_2011-08-30_100136.png

В основном, поэтому я могу удалить пробелы и мусор, так как это раздражает просматривать копать файлы в терминале. Есть ли простой способ изменить этот префикс с помощью одной из defaults write com.apple.screencaptureкоманд стиля?

colemanm
источник
2
Есть ли шанс, что мы сможем подобрать ответ, который подойдет вам? (или редактировать, чтобы лучше узнать, что вы ищете?)
bmike
Аналогичная информация: superuser.com/q/339702/247728
JayRizzo

Ответы:

11

Вы можете изменить «Снимок экрана» на «Снимок экрана» с помощью следующих команд

defaults write com.apple.screencapture name screenshot
killall SystemUIServer

Если вы хотите углубиться в терминал, вы можете достичь желаемого, выполнив следующие действия:

ПРИМЕЧАНИЕ. Сделайте резервную копию любых файлов, которые вы измените, на случай, если вы допустите ошибку.

  1. cd /System/Library/CoreServices/SystemUIServer.app/Contents/Resources/English.lproj
  2. Сделайте копию существующего файла:
    sudo cp ScreenCapture.strings ScreenCapture.strings.old
  3. Введите пароль администратора, если будет предложено
  4. Преобразовать в редактируемый формат:
    sudo plutil -convert xml1 ScreenCapture.strings
  5. sudo vi ScreenCapture.strings

    Найдите следующие строки:

    <key>%@ %@ at %@</key>  
    <string>%@ %@ at %@</string>  
    

    и заменить на следующие строки:

    <key>%@ %@ at %@</key>  
    <string>%@_%@_%@</string>  
    
  6. Преобразовать обратно в двоичный файл:
    sudo plutil -convert binary1 ScreenCapture.strings
  7. killall SystemUIServer

который в сочетании с первым изменением должен дать вам что-то вроде этого:

screenshot_2011-08-30_10.01.36.png который очень близок к тому, что вам нужно, я думаю

conorgriffin
источник
3
Это не похоже на работу в OS X El Capitan, предположительно из-за защиты целостности системы.
Радон Росборо
7

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

Там порядочное руководство здесь с подобным подходом и инструкциями.

Адриан Б
источник
Какова задержка с подходом Automator? Сколько времени проходит между сохранением исходного снимка экрана и доступностью файла с новым именем файла? Это 1 секунда, 3 секунды, 12 секунд?
Cheeso
От 5 до 7 секунд от снимка экрана до изменения имени файла (на моем MacBook Pro с 2009 года).
Адриан Б
Благодарность! Учитывая это, я собираюсь написать немного кода для этого.
Cheeso
4

Я отключил ярлыки по умолчанию и назначил ярлык для этой команды:

screencapture -i ~/Desktop/$(date +%Y%m%d%H%M%S).png

-i (интерактивный), как ⇧⌘4 или ⌃⇧⌘4.

LRI
источник
Это кажется самым прямым решением проблемы. Но как связать ярлык с командой? В диалоговом окне «Системные настройки» написано «введите точное имя КОМАНДЫ МЕНЮ, которое вы хотите добавить». Ваша команда не является командой меню, так что ...?
Cheeso
1
@Cheeso Смотрите ссылку в ответе. Вы можете использовать приложение, такое как FastScripts или Alfred, или создать сервис с Automator.
Лри
3

Откройте терминал и введите:

$ sudo su

$ cd /System/Library/CoreServices/SystemUIServer.app/Contents/Resources/English.lproj

$ plutil -convert xml1 ScreenCapture.strings

$ nano ScreenCapture.strings

сдача

<key>%@ %@ at %@</key>
    <string>%@ %@ at %@</string>
<key>.</key>
    <string>.</string>
<key>Screen Shot</key>
    <string>Screen Shot</string>

в

<key>%@ %@ at %@</key>
    <string>%@_%@_%@</string>
<key>.</key>
    <string></string>
<key>Screen Shot</key>
    <string>screenshot</string>

тогда

Control+ O для записи файла и Control+ X для выхода из nano

$ plutil -convert binary1 ScreenCapture.strings

$ killall SystemUIServer

Еще одна вещь, на которую следует обратить внимание, это то, что для того, чтобы избавиться от AM / PM, вам нужно изменить его в Системных настройках> Язык и текст> Форматы (24-часовой формат). Отметки времени отображаются в соответствии с тем, как это установлено; имейте в виду, если вы измените этот параметр, все имена файлов будут использовать этот формат.

~ Дайте мне знать, как это работает.

l'L'л
источник
3

Тот же эффект от сложных действий терминала, показанных выше, может быть достигнут с помощью панели настроек бесплатных секретов , которая служит интерфейсом для всех видов скрытых настроек в Mac OS и ее приложениях. Просто откройте панель настроек и найдите параметр, который вы хотите изменить.

Александр - Восстановить Монику
источник
1

Мне понравился ответ Адриан Б . Вот сценарий оболочки, который я написал для переименования файлов шапки экрана: https://gist.github.com/DinoChiesa/7796444

Чтобы настроить его как действие с папкой, следуйте этой статье .

Когда вы попадете в окно Automator, следуйте этому руководству:

введите описание изображения здесь

Не забудьте сохранить его (Command-S).

По моему опыту, это действие папки запускается после того, как я сделал снимок экрана, через 3-6 секунд.

Cheeso
источник
1

просто используйте 2 команды:

d̶e̶f̶a̶u̶l̶t̶s̶ ̶w̶r̶i̶t̶e̶ ̶c̶o̶m̶.̶a̶p̶p̶l̶e̶.̶s̶c̶r̶e̶e̶n̶c̶a̶p̶t̶u̶r̶e̶ ̶n̶a̶m̶e̶ ̶"̶s̶c̶r̶e̶e̶n̶s̶h̶o̶t̶_̶$̶(̶d̶a̶t̶e̶ ̶+̶%̶Y̶_̶%̶m̶_̶%̶d̶-̶%̶H̶_̶%̶M̶_̶%̶S̶)̶"̶ ̶
d̶e̶f̶a̶u̶l̶t̶s̶ ̶w̶r̶i̶t̶e̶ ̶c̶o̶m̶.̶a̶p̶p̶l̶e̶.̶s̶c̶r̶e̶e̶n̶c̶a̶p̶t̶u̶r̶e̶ ̶"̶i̶n̶c̶l̶u̶d̶e̶-̶d̶a̶t̶e̶"̶ ̶0̶

Вы также можете изменить расположение скриншота по умолчанию (в моем случае это папка в iCloud)

defaults write com.apple.screencapture location "~/Library/Mobile\ Documents/com\~apple\~CloudDocs/screenshots"
Павло Заморока
источник
Спасибо, это хорошо
TinhNQ
Это сработало в первый раз, но каждый последующий скриншот просто повторял имя и добавлял увеличенное число до конца.
Бретт ВандерВин
@BrettVanderVeen да ты прав, это не решение проблемы
Павел Заморока
0

ИМО, вы абсолютно не должны ничего возиться с / System /.

Во-первых, вы просто просите, чтобы ваши настройки были перезаписаны в будущем обновлении.

Загрузите демоверсию Sharpshooter с http://www.kerlmax.com/products/sharpshooter/

Вы можете использовать его в течение 30 дней. Тогда купите это за 15 $. Это отличная утилита.

Или вы пробовали Skitch ? Это совершенно бесплатно и намного лучше, чем встроенный.

Ти Джей Луома
источник