Modifica del nome file dello screenshot predefinito


15

C'è un modo per cambiare il prefisso del nome file dello screenshot predefinito (il Cmd-Shift-4tipo screenshot) in qualcosa di diverso da quello predefinito? Il nome predefinito è simile al seguente:

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

Ma preferirei usare qualcosa di simile:

screenshot_2011-08-30_100136.png

Fondamentalmente, quindi posso rimuovere gli spazi e la spazzatura, dal momento che è fastidioso sfogliare i file nel Terminale. Un modo semplice per modificare questo prefisso con uno dei defaults write com.apple.screencapturecomandi di stile?


2
C'è qualche possibilità che possiamo farti selezionare una risposta che ha funzionato per te? (o una modifica per sapere meglio cosa cerchi?)
bmike

Informazioni simili: superuser.com/q/339702/247728
JayRizzo

Risposte:


11

È possibile cambiare 'Schermata' in 'screenshot' con i seguenti comandi

defaults write com.apple.screencapture name screenshot
killall SystemUIServer

Se vuoi andare a scavare un po 'più a fondo nel Terminale, puoi ottenere ciò che desideri facendo quanto segue:

NOTA: eseguire un backup di tutti i file modificati in caso di errore.

  1. cd /System/Library/CoreServices/SystemUIServer.app/Contents/Resources/English.lproj
  2. Crea una copia del file esistente:
    sudo cp ScreenCapture.strings ScreenCapture.strings.old
  3. Immettere la password amministratore se richiesta
  4. Converti in un formato modificabile:
    sudo plutil -convert xml1 ScreenCapture.strings
  5. sudo vi ScreenCapture.strings

    Individua le seguenti righe:

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

    e sostituisci con le seguenti righe:

    <key>%@ %@ at %@</key>  
    <string>%@_%@_%@</string>  
    
  6. Converti nuovamente in binario:
    sudo plutil -convert binary1 ScreenCapture.strings
  7. killall SystemUIServer

che combinato con il primo cambiamento dovrebbe darti qualcosa del genere:

screenshot_2011-08-30_10.01.36.png che è molto vicino a ciò di cui hai bisogno, penso


2
Ciò non sembra funzionare in OS X El Capitan, presumibilmente a causa della protezione dell'integrità del sistema.
Radon Rosborough,

7

L'ho risolto in un altro modo. Utilizzando Automator ho impostato un'azione Cartella per monitorare la cartella della mia schermata e rinominare tutti i nuovi file esattamente come li voglio.

C'è una guida decente qui con un approccio e istruzioni simili.


Qual è la latenza con l'approccio Automator? Per quanto tempo tra il salvataggio della screencap originale e il file è disponibile con il nuovo nome file? È 1 secondo, 3 secondi, 12 secondi?
Cheeso,

Tra 5 e 7 secondi dallo screenshot viene acquisito fino alla modifica del nome del file (sul mio MacBook Pro dal 2009).
Adrian B,

Grazie! Detto questo, scriverò del codice bash per farlo.
Cheeso,

4

Ho disabilitato i collegamenti predefiniti e assegnato un collegamento a questo comando:

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

-i (interattivo) è come ⇧⌘4 o ⌃⇧⌘4.


Sembra la soluzione più diretta al problema. Ma come si fa a mappare un collegamento a un comando? Nella finestra di dialogo Preferenze di Sistema, si dice "inserisci il nome esatto del COMANDO MENU che desideri aggiungere". Il tuo comando non è un comando di menu, quindi ...?
Cheeso,

1
@Cheeso Vedi il link nella risposta. È possibile utilizzare un'applicazione come FastScripts o Alfred o creare un servizio con Automator.
Lri,

3

Apri il terminale e inserisci:

$ sudo su

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

$ plutil -convert xml1 ScreenCapture.strings

$ nano ScreenCapture.strings

modificare

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

per

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

poi

Control+ O per scrivere il file e Control+ X per uscire da nano

$ plutil -convert binary1 ScreenCapture.strings

$ killall SystemUIServer

Un'altra cosa da notare qui è che per sbarazzarsi di AM / PM è necessario modificarlo in Preferenze di Sistema> Lingua e testo> Formati (formato 24 ore). I timestamp vengono visualizzati in base a come è impostato; tenere presente che se si modifica questa impostazione, tutti i nomi di file utilizzeranno questo formato.

~ Fammi sapere come funziona.


3

Lo stesso effetto delle complesse azioni terminali mostrate sopra può essere ottenuto attraverso il pannello delle preferenze dei segreti gratuiti , che funge da interfaccia per tutti i tipi di impostazioni nascoste in Mac OS e le sue app. Basta aprire il riquadro pref e trovare l'impostazione che si desidera modificare


1

Mi è piaciuta la risposta di Adrian B . Ecco lo script della shell che ho scritto per rinominare i file di protezione dello schermo: https://gist.github.com/DinoChiesa/7796444

Per configurarlo come azione cartella, seguire questo articolo .

Quando arrivi alla finestra di Automator, segui questa guida:

inserisci qui la descrizione dell'immagine

Non dimenticare di salvarlo (Command-S).

Ci vogliono 3-6 secondi, nella mia esperienza, affinché l'azione della cartella si "avvii" dopo aver catturato lo schermo.


1

basta usare 2 comandi:

defaults write com.apple.screencapture name "screenshot_$(date +%Y_%m_%d-%H_%M_%S)"
defaults write com.apple.screencapture "include-date" 0

puoi anche cambiare la posizione dello screenshot predefinita (nel mio caso questa è una cartella in iCloud)

defaults write com.apple.screencapture location "~/Library/Mobile\ Documents/com\~apple\~CloudDocs/screenshots"

grazie è buono
TinhNQ

Questo ha funzionato la prima volta, ma ogni schermata successiva ha semplicemente ripetuto il nome e ha aggiunto un numero incrementato alla fine.
Brett VanderVeen

0

IMO non dovresti assolutamente muoverti con nulla in / System /.

Per prima cosa, stai solo chiedendo che le tue personalizzazioni vengano sovrascritte da un aggiornamento futuro.

Scarica la demo di Sharpshooter da http://www.kerlmax.com/products/sharpshooter/

Puoi usarlo per 30 giorni. Quindi acquistalo per $ 15. È una grande utilità.

In alternativa, hai provato Skitch ? È completamente gratuito e molto meglio di quello integrato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.