Зміна назви файлу скріншоту за замовчуванням


16

Чи є спосіб змінити префікс назви файла екрана за замовчуванням ( 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команд стилю?


2
Чи є якийсь шанс, щоб ми могли змусити вас вибрати відповідь, яка працювала б для вас? (або редагування, щоб краще знати, що ви шукаєте?)
bmike

Подібна інформація: superuser.com/q/339702/247728
JayRizzo

Відповіді:


11

Ви можете змінити "Screen shot" на "screenshot" за допомогою наступних команд

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 що дуже близько до того, що вам потрібно, я думаю


4
Схоже, це не працює в OS X El Capitan, імовірно, через захист цілісності системи.
Радон Росборо

7

Я вирішив це іншим способом. Використовуючи Automator, я налаштував дію папок, щоб відстежувати папку, яку я знімав на екрані, і перейменовувати будь-які нові файли саме так, як я їх хочу.

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


Яка затримка у підході Автоматизатора? Скільки часу між початковим збереженням оригінального екрана екрана, і файл доступний з новим ім'ям файлу? Це 1 секунда, 3 секунди, 12 секунд?
Чесо

З екрана знімається від 5 до 7 секунд, поки ім'я файлу не змінено (на моєму MacBook Pro з 2009 року).
Адріан Б

Спасибі! Враховуючи це, я збираюся написати якийсь баш-код для цього.
Чесо

4

Я відключив ярлики за замовчуванням і призначив ярлик цій команді:

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

-i (інтерактивна) подібна до ⇧⌘4 або ⌃⇧⌘4.


Це здається найбільш прямим вирішенням проблеми. Але як можна відобразити ярлик до команди? У діалоговому вікні Налаштування системи написано "введіть точну назву МЕНЮ КОМАНДИ, яку ви хочете додати". Ваша команда не є командою меню, так ...?
Чесо

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 вам потрібно буде змінити його в System Preferences> Language & Text> Formats (формат 24 години). Часові позначки відображаються відповідно до того, як це встановлено; майте на увазі, якщо ви зміните це налаштування, усі імена файлів будуть використовувати цей формат.

~ Дайте мені знати, як це виходить.


3

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


1

Мені сподобався відповідь Адріан Б . Ось сценарій оболонки, який я написав для перейменування файлів із кришкою екрана: https://gist.github.com/DinoChiesa/7796444

Щоб налаштувати його як дію папки, дотримуйтесь цієї статті .

Добравшись до вікна Автоматизатора, дотримуйтесь цього посібника:

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

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

На мій досвід, за моїм досвідом потрібні 3-6 секунд, щоб ця папка "розпочалася" після того, як я захоплю екран.


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 ? Це абсолютно безкоштовно, і набагато краще, ніж вбудований.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.