Modification du nom de fichier de capture d'écran par défaut

15

Existe-t-il un moyen de changer le préfixe de nom de fichier de capture d'écran par défaut (le Cmd-Shift-4type de capture d'écran) en autre chose que le défaut? Le nom par défaut ressemble à ceci:

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

Mais je préfère utiliser quelque chose comme:

screenshot_2011-08-30_100136.png

Fondamentalement, je peux supprimer les espaces et les déchets, car il est ennuyeux de parcourir les fichiers dans Terminal. Une manière simple de changer ce préfixe avec l'une des defaults write com.apple.screencapturecommandes de style?

colemanm
la source
2
Y a-t-il une chance que nous puissions vous demander de sélectionner une réponse qui vous convient? (ou un montage pour savoir mieux ce que vous cherchez?)
bmike
Informations similaires: superuser.com/q/339702/247728
JayRizzo

Réponses:

11

Vous pouvez changer «Capture d'écran» en «capture d'écran» avec les commandes suivantes

defaults write com.apple.screencapture name screenshot
killall SystemUIServer

Si vous voulez aller un peu plus loin dans Terminal, vous pouvez réaliser ce que vous voulez en procédant comme suit:

REMARQUE: effectuez une sauvegarde de tous les fichiers que vous modifiez en cas d'erreur.

  1. cd /System/Library/CoreServices/SystemUIServer.app/Contents/Resources/English.lproj
  2. Faites une copie du fichier existant:
    sudo cp ScreenCapture.strings ScreenCapture.strings.old
  3. Entrez le mot de passe administrateur si vous y êtes invité
  4. Convertissez dans un format modifiable:
    sudo plutil -convert xml1 ScreenCapture.strings
  5. sudo vi ScreenCapture.strings

    Recherchez les lignes suivantes:

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

    et remplacez par les lignes suivantes:

    <key>%@ %@ at %@</key>  
    <string>%@_%@_%@</string>  
    
  6. Convertir en binaire:
    sudo plutil -convert binary1 ScreenCapture.strings
  7. killall SystemUIServer

qui, combiné avec le premier changement, devrait vous donner quelque chose comme ceci:

screenshot_2011-08-30_10.01.36.png ce qui est très proche de ce dont vous avez besoin je pense

conorgriffin
la source
3
Cela ne semble pas fonctionner sous OS X El Capitan, probablement en raison de la protection de l'intégrité du système.
Radon Rosborough
7

J'ai résolu cela d'une autre manière. À l'aide d'Automator, j'ai configuré une action de dossier pour surveiller mon dossier de captures d'écran et renommer tous les nouveaux fichiers exactement comme je le souhaite.

Il y a un guide décent ici avec une approche et des instructions similaires.

Adrian B
la source
Quelle est la latence avec l'approche Automator? Combien de temps entre le moment où la capture d'écran d'origine est enregistrée et le fichier est disponible avec le nouveau nom de fichier? Est-ce 1 seconde, 3 secondes, 12 secondes?
Cheeso
Entre 5 et 7 secondes à partir de la capture d'écran sont prises jusqu'à ce que le nom du fichier soit modifié (sur mon MacBook Pro de 2009).
Adrian B
Merci! Compte tenu de cela, je vais écrire du code bash pour ce faire.
Cheeso
4

J'ai désactivé les raccourcis par défaut et attribué un raccourci à cette commande:

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

-i (interactif) est comme ⇧⌘4 ou ⌃⇧⌘4.

Lri
la source
Cela semble être la solution la plus directe au problème. Mais comment associer un raccourci à une commande? Dans la boîte de dialogue Préférences Système, il est indiqué "entrez le nom exact de la COMMANDE DE MENU que vous souhaitez ajouter". Votre commande n'est pas une commande de menu, alors ...?
Cheeso
1
@Cheeso Voir le lien dans la réponse. Vous pouvez utiliser une application comme FastScripts ou Alfred ou créer un service avec Automator.
Lri
3

Ouvrez le terminal et entrez:

$ sudo su

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

$ plutil -convert xml1 ScreenCapture.strings

$ nano ScreenCapture.strings

changement

<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>

ensuite

Control+ O pour écrire le fichier, et Control+ X pour quitter nano

$ plutil -convert binary1 ScreenCapture.strings

$ killall SystemUIServer

Une autre chose à noter ici est que pour vous débarrasser de AM / PM, vous devrez le changer dans Préférences Système> Langue et texte> Formats (format 24 heures). Les horodatages sont affichés en fonction de la façon dont cela est réglé; gardez à l'esprit que si vous modifiez ce paramètre, tous les noms de fichiers utiliseront ce format.

~ Faites-moi savoir comment cela fonctionne.

je vais
la source
3

Le même effet des actions de terminal complexes illustrées ci-dessus peut être obtenu via le volet de préférences des secrets gratuits , qui sert d'interface pour toutes sortes de paramètres cachés dans Mac OS et ses applications. Ouvrez simplement le panneau des préférences et trouvez le paramètre que vous souhaitez modifier

Alexander - Rétablir Monica
la source
1

J'ai aimé la réponse de Adrian B . Voici le script shell que j'ai écrit pour renommer les fichiers de capture d'écran: https://gist.github.com/DinoChiesa/7796444

Pour le configurer en tant qu'action de dossier, suivez cet article .

Lorsque vous accédez à la fenêtre Automator, suivez ce guide:

entrez la description de l'image ici

N'oubliez pas de l'enregistrer (Command-S).

D'après mon expérience, il faut 3-6 secondes pour que cette action de dossier "démarre" après avoir capturé l'écran.

Cheeso
la source
1

utilisez simplement 2 commandes:

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̶

vous pouvez également modifier l'emplacement de capture d'écran par défaut (dans mon cas, il s'agit d'un dossier dans iCloud)

defaults write com.apple.screencapture location "~/Library/Mobile\ Documents/com\~apple\~CloudDocs/screenshots"
Pavlo Zamoroka
la source
merci c'est bon
TinhNQ
Cela a fonctionné la première fois, mais chaque capture d'écran suivante a simplement répété le prénom et ajouté un nombre incrémenté à la fin.
Brett VanderVeen
@BrettVanderVeen oui vous avez raison, ce n'est pas une solution
Pavlo Zamoroka Il y a
0

OMI, vous ne devez absolument pas vous cacher avec quoi que ce soit dans / System /.

D'une part, vous demandez simplement que vos personnalisations soient écrasées par une future mise à jour.

Téléchargez la démo de Sharpshooter depuis http://www.kerlmax.com/products/sharpshooter/

Vous pouvez l'utiliser pendant 30 jours. Achetez-le ensuite pour 15 $. C'est une grande utilité.

Alternativement, avez-vous essayé Skitch ? Il est entièrement gratuit et bien meilleur que le intégré.

TJ Luoma
la source