Numérotation cohérente des captures d'écran

Allez un pas à pas d’installation, cela servira certainement à d’autre.

- Ouvrir l’application éditeur de script qui se trouve dans application—> utilitaires.
- Faire un copier coller du script dans une fenêtre de l’application
- Enregistrer sous : (exemple : Change_nom_capture) sur le bureau
- Déplacer ce fichier dans: Utilisateurs —> « le nom d’utilisateurs » —> Bibliothèque —> Scripts —> Folder Action Scripts
Si les dossiers « scripts » et ou « Folder Action Scripts » n’existent pas il faut les créer.
- Créer un dossier pour la réception des copies d’écran, ou on veux avec le nom que l’on veux.
- Avec onyx définir ce dossier comme destination des copies d’écran.

- Faire un clic droit sur ce dossier —> service —> Configuration des actions de dossier…
- Dans le fenêtre qui s’ouvre (choisir un script à joindre:) sélectionner le script.

Voilà on peut tout fermer, lors de la création d’une copie d’écran elle sera renommée. Par défaut j’ai mis : Capture-01 , le 01 s’incrémentant au fur et à mesure des copies,
Pour remettre tout à zéro il suffit de vider le dossier, y compris le fichier « compteur.txt » qui se crée automatiquement. Celui-ci contient en ligne 1 : le nom(Capture-) et en ligne 2 le numéro du dernier fichier enregistré (00).
 
Oups! je viens de me rendre compte que j'ai posté le code du fichier qui ne gérer pas la récursivité du fichier compteur ! désolé.
Je joins le nouveau code.


on adding folder items to Mon_Dossier after receiving Liste_Fichiers
tell application "Finder"

set Mon_Dossier to Mon_Dossier as string --change chemin en texte
set compteur to Mon_Dossier & "compteur.txt" -- recupere chemin du fichier compteur
-- verifie si fichier compteur existe sinon le crée
if compteur exists then

else
set lecompteur to open for access compteur with write permission
write "capture-" & (ASCII character 13) & "00" to lecompteur starting at eof
close access lecompteur -- ferme fichier compteur
end if

set extens to file Liste_Fichiers --recupere l extension du fichier
set lextension to name extension of extens
set lecompteur to open for access compteur with write permission -- ouvre fichier compteur
read lecompteur
set lindex to the result -- recupere le contenu du fichier compteur
set vartoto1 to paragraph 1 of lindex as string -- récupère la ligne 1
set vartoto2 to paragraph 2 of lindex as string --récupère la ligne 2
set ledernier to Mon_Dossier & vartoto1 & vartoto2 & "." & lextension as string -- recupere le nom du dernier fichier
set appel to file Liste_Fichiers as string -- recupere dans appel le nom du nouveau fichier
if appel = Mon_Dossier & "compteur.txt" then -- evite la recursivité du fichier compteur
close access lecompteur
return
end if
if ledernier = appel then -- compare dernier fichier et nouveau pour éviter l'auto appel du au changement de nom
close access lecompteur -- quitte si auto appel
return
else
set suivant to vartoto2 as integer -- incremente le numéro du compteur
set suivant to vartoto2 + 1 as string
set suivant to "00" & suivant
set suivant to text -2 thru -1 of suivant -- numero sur 2 chiffres
set eof lecompteur to 0 -- pour effacer le fichier existant
write vartoto1 & (ASCII character 13) & suivant to lecompteur starting at eof -- met à jour le compteur

close access lecompteur -- ferme fichier compteur

set Liste_Fichiers to Liste_Fichiers as string -- change chemin en texte
set name of file Liste_Fichiers to vartoto1 & suivant & "." & lextension -- change nom du nouveau fichier

end if

end tell

end adding folder items to
 
Déconseillé aux âmes sensibles !


kPwqOLctGUpV.jpg
 
Bizarre chez moi tout fonctionne.

Il n'y a pas de fichier texte à créer, il se crée automatiquement lorsque le 1 er fichier arrive dans le dossier.

- Tu as bien enregistrer le fichier script dans le dossier "Folder Action Scripts" qui est dans le dossier "scripts" de ta bibliothèque ?
- Puis affecter le script au dossier qui reçoit les captures .

Pour tester il suffit de glisser un fichier dans ce dossier pour vérifier le fonctionnement.
Dis moi où tu as le problème pour effectuer la mise en place ? je t'expliquerais en détails !
 
Bloc de code:
Chez moi ça marche mais pas dans le dossier Users.

Je comprend pas?
Tu parles du fichier script?
Tu l'as mis où?

Il peut être à 2 endroits soit où j'ai donné le chemin soit dans le dossier "Folder Action Script" de la bibliothèque qui est à la racine du disque !!

Enfin on va attendre les explications de "magicPDF"
 
Dernière édition:
@zeltron54
Rectification, c'est tout bon dans les dossiers indiqués qu'il faut bien créer…

Test-12.webp
…et ça va m'arranger lorsque je fais des petits tutoriels ou le suivi de l'avancement de mes travaux en 3D. Merci. :D
 
Bizarre chez moi tout fonctionne.
OK ça marche comme sur des roulettes, dans tes instructions il manquait juste une toute petite précision concernant une case-à-cocher que j'ai vu plusieurs fois sans vraiment la regarder. :banghead:

Ça tombe sous le sens mais il ne faut pas oublier de la cocher. :D
p5UoLGh8BsxM.png
 
Du coup, maintenant que ça fonctionne j'ai deux questions supplémentaires :

- Est-ce qu'on peut avoir une numérotation sur 3 chiffres (001, 002…) ?
- Est-ce que la numérotation peut commencer à zéro (000) et non pas à un ? (c'est le plus important pour moi)
J'ai essayé de bricoler ton script mais sans succès.
 
Ok !

Merci pour ton retour, cela me rassure !
Si d'autres problèmes de fonctionnement ne pas hésiter à m'en faire part.

Bonne utilisation....
 
Nos post ce sont croisés, pour avoir 3 chiffres il n'y a pas de problème, je modifie le script et je te poste ça. par contre pour commencer à zéro, il faut que je me penche sur le problème, et je te donnerai le retour.
 
Pour avoir le nom sur 3 chiffres tu changes juste le -2 par -3 sur la ligne :
set suivant to text -2 thru -1 of suivant -- numero sur 2 chiffres
qui devient :
set suivant to text -3 thru -1 of suivant -- numero sur 3 chiffres

c'est la neuvième ligne en partant du bas....
 
Aller, après vérification, pour commencer à zéro , il faut changer le "00" par "-01" sur la ligne :
write "capture-" & (ASCII character 13) & "-00" to lecompteur starting at eof
Qui devient
write "capture-" & (ASCII character 13) & "-01" to lecompteur starting at eof

C'est la neuvième ligne en partant du haut

Dis moi si ces changements fonctionnent correctement chez toi ! merci
 
C'est tout bon chez moi, merci. ;)

Ce qui donne…
Bloc de code:
on adding folder items to Mon_Dossier after receiving Liste_Fichiers
    tell application "Finder"
      
        set Mon_Dossier to Mon_Dossier as string --change chemin en texte
        set compteur to Mon_Dossier & "compteur.txt" -- recupere chemin du fichier compteur
        -- verifie si fichier compteur existe sinon le crée
        if compteur exists then
          
        else
            set lecompteur to open for access compteur with write permission
            write "Capture-" & (ASCII character 13) & "-01" to lecompteur starting at eof
            close access lecompteur -- ferme fichier compteur
        end if
      
        set extens to file Liste_Fichiers --recupere l extension du fichier
        set lextension to name extension of extens
        set lecompteur to open for access compteur with write permission -- ouvre fichier compteur
        read lecompteur
        set lindex to the result -- recupere le contenu du fichier compteur
        set vartoto1 to paragraph 1 of lindex as string -- récupère la ligne 1
        set vartoto2 to paragraph 2 of lindex as string --récupère la ligne 2
        set ledernier to Mon_Dossier & vartoto1 & vartoto2 & "." & lextension as string -- recupere le nom du dernier fichier
        set appel to file Liste_Fichiers as string -- recupere dans appel le nom du nouveau fichier
        if appel = Mon_Dossier & "compteur.txt" then -- evite la recursivité du fichier compteur
            close access lecompteur
            return
        end if
        if ledernier = appel then -- compare dernier fichier et nouveau pour éviter l'auto appel du au changement de nom
            close access lecompteur -- quitte si auto appel
            return
        else
            set suivant to vartoto2 as integer -- incremente le numéro du compteur
            set suivant to vartoto2 + 1 as string
            set suivant to "00" & suivant
            set suivant to text -3 thru -1 of suivant -- numero sur 2 chiffres
            set eof lecompteur to 0 -- pour effacer le fichier existant
            write vartoto1 & (ASCII character 13) & suivant to lecompteur starting at eof -- met à jour le compteur
          
            close access lecompteur -- ferme fichier compteur
          
            set Liste_Fichiers to Liste_Fichiers as string -- change chemin en texte
            set name of file Liste_Fichiers to vartoto1 & suivant & "." & lextension -- change nom du nouveau fichier
          
        end if
      
    end tell
  
end adding folder items to
 
Franchement zeltron54 j'étais dans la même attente que magicPDF et ça simplifie les choses plutôt que d'avoir un nom à rallonge lors des captures. Oui, avant on pouvait changer le nom, mais j'avoue que le numérotage de cette façon est vraiment tip-top. ;)