16 votes

Comment changer le format du nom de fichier de capture d'écran OSX?

Je voudrais que mes captures d'écran soient nommées uniquement avec la date et l'heure actuelles, de préférence dans un format comme :

2016-09-02-16:02:48

Comment devrais-je procéder ?

Jusqu'à présent, j'ai essayé d'insérer une chaîne vide dans com.apple.screencapture name

comme indiqué :

$ defaults write com.apple.screencapture name ""
$ killall SystemUIServer

Mais OSX continue d'insérer un espace comme indiqué ci-dessous : enter image description here

Donc, j'ai deux problèmes :

  1. Comment changer le format date heure pour qu'il n'y ait pas d'espaces ?
  2. Comment m'assurer qu'il n'y a pas d'espace initial dans le nom du fichier de capture d'écran ?

Merci :)

2 votes

Avez-vous déjà trouvé un moyen d'y parvenir ?

0 votes

Avec CleanShot X, vous pouvez apporter des personnalisations bien plus intéressantes au nom de fichier. Vous pouvez supprimer tous les espaces facilement.

6voto

klanomath Points 63400

Vous ne pouvez ni renommer un fichier avec le nom proposé - il contient plusieurs points de suspension (:) qui sont des caractères réservés (= interdits) dans le système de fichiers HFS+ - ni le defaults write com.apple.screencapture ... ne permet un format de date différent.

Une idée cependant est de créer un agent de lancement pour renommer tous les fichiers dans un dossier dédié commençant par "Capture d'écran ...":

Une solution très simple, en supposant que vous restaurez la convention de nommage par défaut pour les captures d'écran et remplacez nom_utilisateur par votre nom court ci-dessous, serait alors:

Créez un fichier nommé "screencaprn" dans par exemple /usr/local/bin avec le contenu:

#!/bin/bash

mv /Users/nom_utilisateur/Desktop/Capture\ d'écran*.png /Users/nom_utilisateur/Desktop/"`date "+%Y-%m-%d-%H.%M.%S"`.png"; $2>/dev/null

Changez les permissions:

chmod +x /usr/local/bin/screencaprn

Créez ensuite un agent de lancement dans ~/Library/LaunchAgents avec le nom "usr.screenshot.rename.plist" et le contenu:

    Label
    usr.screenshot.rename
    ProgramArguments

        /bin/bash
        -c
        /usr/local/bin/screencaprn

    WatchPaths

        /Users/nom_utilisateur/Desktop

Chargez ensuite le fichier plist avec:

launchctl load ~/Library/LaunchAgents/usr.screenshot.rename.plist

Cela fonctionne mais comporte un délai allant jusqu'à 10 secondes (modifiant ainsi les secondes et parfois les minutes du fichier de capture d'écran nommé d'origine par exemple Capture d'écran 2016-09-03 à 03.24.02.png en 2016-09-03-03.24.05.png) et ajoute une ligne com.apple.xpc.launchd[1] (usr.screenshot.rename): Service only ran for X seconds. Pushing respawn out by Y seconds. au journal système.

1 votes

Note sur le caractère : : En réalité, ce n'est pas un caractère réservé ou spécial sur le système de fichiers HFS+, et vous pouvez très bien l'utiliser dans un nom de fichier. Cependant, il ressemblera à un / dans Finder en raison d'un retour en arrière de la conversion de Classic Mac OS (qui autorisait le caractère / dans les noms de fichiers, mais pas :) à OS X (qui n'autorise pas /, mais autorise :).

0 votes

Super réponse! Fonctionne à merveille. Il y a seulement un retard de 1 à 2 secondes pour moi.

0 votes

Cela a cessé de fonctionner pour moi un jour. Les fichiers sont toujours là, et launchctl dit que le service est chargé. J'ai essayé de décharger et de charger et de supprimer et de charger à nouveau. Des idées ?

6voto

Matt Sephton Points 4570

Le format de l'heure est basé sur ce que vous avez dans :
Préférences Système > Langue & Région > Heure 24h

Il peut être remplacé en changeant le format dans :
Préférences Système > Langue & Région > Avancé... > Heures > Moyen

Il y a un bug étrange dans Finder lors du renommage de captures d'écran qui n'ont pas l'AM/PM dans le nom de fichier, car les points séparant l'heure sont confondus avec celui séparant les extensions de fichier.

Pour se débarrasser du Capture d'écran et de l'espace initial, j'utiliserais un outil qui surveille le système de fichiers et peut effectuer des actions définies par l'utilisateur - quelque chose comme Hazel. En fait, vous pourriez ne pas toucher du tout aux Préférences Système et simplement demander à Hazel de renommer les fichiers de capture d'écran pour vous.

Remarque : vous ne pourrez pas utiliser le caractère : dans les noms de fichiers.

6voto

Pavlo Zamoroka Points 61

Utilisez simplement 2 commandes:

defaults write com.apple.screencapture name "$(date +%Y-%m-%d) $(date +%H-%M-%S)" 
defaults write com.apple.screencapture "include-date" 0

Veuillez noter que vous ne pouvez pas utiliser le : dans les noms de fichiers sur MacOS.

J'utilise 2 variables de date pour obtenir ce modèle: 2019-07-02 23-04-04.png

vous pouvez également changer l'emplacement par défaut des captures d'écran (dans mon cas, il s'agit d'un dossier dans iCloud)

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

MAJ: ce n'est pas la solution correcte. le nom sera identique pour chaque capture d'écran, et la date générée - c'est la date à laquelle vous avez exécuté ces commandes

0 votes

Vous pouvez également essayer ceci à la place si vous ne voulez pas que la date apparaisse: defaults write com.apple.screencapture include-date -bool false; killall SystemUIServer

0voto

John Keates Points 2570

Voir Comment changer le nom de capture d'écran par défaut dans OS X Lion? pour changer le reste du nom. L'espace est inséré par le format de chaîne indiqué dans le fichier de chaînes, très probablement en raison de la nécessité de localiser les valeurs de date et d'heure. Si vous combinez le changement du préfixe du nom du fichier plist avec le changement de l'horodatage formaté, vous pouvez le faire selon vos envies.

0voto

vy32 Points 2912

Une autre solution consiste en un démon fonctionnant en arrière-plan qui souscrit au service de modification de fichiers et qui modifie les noms de fichiers lorsqu'ils sont créés.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X