macOS Ventura Afficher une arborescence de fichiers en permanence dans la barre des menus

marlouis

Membre confirmé
18 Mars 2018
78
5
34
Bonjour et très belle année 2023 à toutes et à tous !


Je travaille avec une arborescence de fichiers dans laquelle chaque document est précédé d’une lettre et d’un numéro : a.1, b23, c12 ect. Chaque lettre correspondant à un sujet rangé dans un dossier et les numéros se suivant chronologiquement à date de réception. Ainsi j’ai reçu un document pour le sujet b hier soir, je l’ai rangé dans le dossier b au nom de b23. Celui reçu ce matin à 8h au nom de b24, à 8h30 au nom de b25 ect.

Néanmoins, je suis obligé de contrôler à chaque fois le suffixe précédent pour chaque dossier. J’oublie régulièrement à quel numéro j’en suis pour chaque sujet ce qui m’oblige à regarder dans le dossier. Par conséquent, j’aurais souhaité vous demander s’il n’existerait pas un petit utilitaire, une app, une astuce ou un script pour afficher en temps réel le dernier ficher placé dans un dossier ? Peut-être dans la barre des menus par exemple ?

J’ai utilisé la fonction recherche du forum mais n’ai rien trouvé de très probant.

Merci d’avance pour vos réponses !
Bonne journée,
Jo
 
  • J’aime
Réactions: moderno31
Bonjour et très belle année 2023 à toutes et à tous !


Je travaille avec une arborescence de fichiers dans laquelle chaque document est précédé d’une lettre et d’un numéro : a.1, b23, c12 ect. Chaque lettre correspondant à un sujet rangé dans un dossier et les numéros se suivant chronologiquement à date de réception. Ainsi j’ai reçu un document pour le sujet b hier soir, je l’ai rangé dans le dossier b au nom de b23. Celui reçu ce matin à 8h au nom de b24, à 8h30 au nom de b25 ect.

Néanmoins, je suis obligé de contrôler à chaque fois le suffixe précédent pour chaque dossier. J’oublie régulièrement à quel numéro j’en suis pour chaque sujet ce qui m’oblige à regarder dans le dossier. Par conséquent, j’aurais souhaité vous demander s’il n’existerait pas un petit utilitaire, une app, une astuce ou un script pour afficher en temps réel le dernier ficher placé dans un dossier ? Peut-être dans la barre des menus par exemple ?

J’ai utilisé la fonction recherche du forum mais n’ai rien trouvé de très probant.

Merci d’avance pour vos réponses !
Bonne journée,
Jo
Hello
Bonne année 2023!
Pour moi tu dois écrire ton appleScript. Sinon peut-être que Automator peut t’aider.
Je sais que ça m’est bien pratique pour renommer en masse tous mes fichiers photo via Finder.

Je décrit à automator mes actions et je lui donne le template de noms. DSC_Shooting-Hambourg_001. Et lui numérote.

Est ce que ma réponse correspond à ton besoin ?
 
Hello
Bonne année 2023!
Pour moi tu dois écrire ton appleScript. Sinon peut-être que Automator peut t’aider.
Je sais que ça m’est bien pratique pour renommer en masse tous mes fichiers photo via Finder.

Je décrit à automator mes actions et je lui donne le template de noms. DSC_Shooting-Hambourg_001. Et lui numérote.

Est ce que ma réponse correspond à ton besoin ?

Bonjour Moderno31 et merci beaucoup pour ta réponse !

Non, je me suis mal exprimé. Mes fichiers sont déjà nommés. J'aimerais pouvoir afficher quelque part (peut-être dans la barre des menus ?) un onglet ou une fenêtre m'indiquant le dernier fichier renommé. Sans quoi je dois me rendre dans le dossier pour trouver le dernier numéro de fichier : a41 par exemple, et donc nommer le fichier suivant a42.

Bonne journée !
 
Bonjour et très belle année 2023 à toutes et à tous !


Je travaille avec une arborescence de fichiers dans laquelle chaque document est précédé d’une lettre et d’un numéro : a.1, b23, c12 ect. Chaque lettre correspondant à un sujet rangé dans un dossier et les numéros se suivant chronologiquement à date de réception. Ainsi j’ai reçu un document pour le sujet b hier soir, je l’ai rangé dans le dossier b au nom de b23. Celui reçu ce matin à 8h au nom de b24, à 8h30 au nom de b25 ect.

Néanmoins, je suis obligé de contrôler à chaque fois le suffixe précédent pour chaque dossier. J’oublie régulièrement à quel numéro j’en suis pour chaque sujet ce qui m’oblige à regarder dans le dossier. Par conséquent, j’aurais souhaité vous demander s’il n’existerait pas un petit utilitaire, une app, une astuce ou un script pour afficher en temps réel le dernier ficher placé dans un dossier ? Peut-être dans la barre des menus par exemple ?

J’ai utilisé la fonction recherche du forum mais n’ai rien trouvé de très probant.

Merci d’avance pour vos réponses !
Bonne journée,
Jo
Bonjour,

Je crois que Folder Peek, gratuit et disponible sur l'App Store, pourrait être une solution.

Vous pouvez placer, dans la barre des menus, vos dossiers A, B, C côte-à-côte (ce qui serait approprié pour vous, si vous n'avez pas trop de dossiers), ou bien superposés dans un menu unique.
 
Bonjour Moderno31 et merci beaucoup pour ta réponse !

Non, je me suis mal exprimé. Mes fichiers sont déjà nommés. J'aimerais pouvoir afficher quelque part (peut-être dans la barre des menus ?) un onglet ou une fenêtre m'indiquant le dernier fichier renommé. Sans quoi je dois me rendre dans le dossier pour trouver le dernier numéro de fichier : a41 par exemple, et donc nommer le fichier suivant a42.

Bonne journée !
Re
Fenêtre de finder puis liste et tri décroissant.
Dans la barre de menu. On peut pas pinner ce genre de chose, pas à ma connaissance. Mais je me suis arrêté à Mojave OS. Les zutres je ne connais pas
 
Bonjour,

Une autre solution, créer un fichier texte contenant le numéro du dernier fichier dans chaque dossier. Puis faire un applescript action de dossier.
Lorsque un nouveau fichier sera déposé dans un dossier, il sera automatiquement renommé avec le nom du dossier plus le numéro contenu dans le fichier texte de ce dossier et qui sera incrémenté et sauvegardé.

Donc à chaque nouveau fichier arrivant il suffit de le glisser-déposer dans son dossier !
 
En combinant cela avec la possibilité de déposer un dossier dans le Dock puis en affinant les options de présentation (pile, liste,…), ça devrait être pas mal !
 
Bonjour,
Une autre solution, créer un fichier texte contenant le numéro du dernier fichier dans chaque dossier. Puis faire un applescript action de dossier.
Lorsque un nouveau fichier sera déposé dans un dossier, il sera automatiquement renommé avec le nom du dossier plus le numéro contenu dans le fichier texte de ce dossier et qui sera incrémenté et sauvegardé.
Je t’ai fais un script action de dossier.
Il suffira donc à l’arrivé d’un fichier (ou de plusieurs) de le glisser-déposer dans son dossier, il sera renommé avec le nom du dossier suivi d’un numéro d’ordre sur 4 chiffres (afin d’avoir un classement ordre alphabétique correct jusqu’a 9999 fichiers)
Un fichier "numéro.txt" sera créé dans le dossier afin d’incrémenter au fur et à mesure.

Allez un pas à pas d’installation,

  • 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 : renomme et numérote fichiers) 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. Avec ces noms exact.

  • Faire un clic droit sur le dossier devant réceptionner le fichier —> service —> Configuration des actions de dossier…
  • Dans le fenêtre qui s’ouvre (choisir un script à joindre sélectionner le script.

Ne pas oublier de cocher la case : Activer les actions de dossier

Voilà on peut tout fermer,
Lors de l’ arrivée d’un ou plusieurs fichiers dans ce dossier il seront renommés automatiquement

Renouveler l’affectation du script à chaque dossier concernés.

Dis moi si cela te convient ou s’il faut modifier quelque chose.

le script
Bloc de code:
on adding folder items to Mon_Dossier after receiving tous_les_fichiers
    tell application "Finder"
        repeat with liste_fichiers in tous_les_fichiers
            
            set Mon_Dossier to Mon_Dossier as string
            set compteur to Mon_Dossier & "compteur.txt" -- recupere chemin du fichier compteur
            
            set sauv to AppleScript's text item delimiters --sauvegarder la variable delimiteur
            set AppleScript's text item delimiters to {":"}
            set nom to text item -2 of Mon_Dossier
            set AppleScript's text item delimiters to sauv --restaurer la variable delimiteur
            
            --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 nom & (ASCII character 13) & "0" 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
            
            delay 0.5
            
            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 "000" & 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 repeat
    end tell
    
end adding folder items to
 
  • J’aime
Réactions: moderno31 et Powerdom
oups !
Un petit bug, il numérote sur 3 caractères au lieu de 4 !
Pour changer remplacer la dixième ligne en partant de la fin:
Bloc de code:
set suivant to text -3 thru -1 of suivant -- numero sur 2 chiffres
par
Bloc de code:
set suivant to text -4 thru -1 of suivant -- numero sur 4 chiffres
 
  • J’aime
Réactions: moderno31
Hello
@zeltron54 merci pour la communauté.
C’est très sympa. Le langage est bien appleScript ? Déclenchement avec Automator ou autre
Je voudrais apprendre un oeu. Ça dépanne forcément:cool:
 
@moderno31
Bonjour,
le langage est bien de l'applescript.
Pas d'automator !
la mise en place est expliqué dans le post !
Allez un pas à pas d’installation,

  • 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 : renomme et numérote fichiers) 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. Avec ces noms exact.

  • Faire un clic droit sur le dossier devant réceptionner le fichier —> service —> Configuration des actions de dossier…
  • Dans le fenêtre qui s’ouvre (choisir un script à joindre sélectionner le script.

Ne pas oublier de cocher la case : Activer les actions de dossier
Ensuite plus rien a faire. dès qu'un fichier est mis dans le dossier il est renommé !
 
  • J’aime
Réactions: moderno31
@moderno31
Bonjour,
le langage est bien de l'applescript.
Pas d'automator !
la mise en place est expliqué dans le post !

Ensuite plus rien a faire. dès qu'un fichier est mis dans le dossier il est renommé !
Super. Merci les précisions.
 
Bonjour à tous,

Merci beaucoup pour votre aide et en particulier merci à Zeltron54 pour ce fabuleux script et son tutoriel pas à pas qui fonctionne à la perfection ! Une petite remarque, les fichiers déposés dans le dossier et donc renommés voient leur nom initial supprimé au profit du nom de dossier :

Le fichier "Ex1" déposé dans le "Dossier A" se renomme "Dossier A001" sans conserver son nom original. Serait-il possible qu'il soit modifié de façon à obtenir "Ex1DossierA001" ? Sachant que le nom Ex1 peut bien sûr être beaucoup plus long en fonction du fichier (TableurFinal, ModèleCR ect.).

Encore merci ! :)
 
Bonjour,
Une première chose, change la ligne comme mentionné au message #9 pour avoir un numéro à 4 chiffres.

Pour ta demande, je me suis basé sur ta demande initiale donc nom du dossier.
Tu voudrais quoi exactement comme nom ?
exemple: nom original --> "monfichier.pdf" mis dans le dossier "dossier a"
soit:
"dossier a_Monfichier.pdf" qui permettra un trie dans le dossier par nom
""monfichier.pdf_dossier a"

ou autre ?
 
Dernière édition:
Bonjour Zeltron et merci beaucoup pour ta réponse. En effet, tu as bien compris ma demande. J'aimerais si possible renommer les fichiers tel que :

Nom original --> "monfichier.pdf" mis dans le dossier "dossier a"
devient : "dossier a_XXXMonfichier.pdf". XXX étant le numéro d’ordre d'arrivée.

Encore mieux, j'aimerais si possible que :

Nom original --> "monfichier.pdf" mis dans le dossier "dossier a"
devient : "aXXX_Monfichier.pdf". a n'étant qu'une partie du nom de dossier (dossier "a") XXX étant le numéro d’ordre d'arrivée.

Merci encore !
 
Ok ! mais pour récupérer le "A" du nom du dossier il me faut savoir ou ce trouve ce "A" dans le nom...
c'est toujours le dernier caractère du nom de dossier ou ?
 
Finalement je te remet un script qui :
Lors de l'arrivée du premier fichier te demande d'entrer ce qui devra précéder le numéro des fichiers.
Tu entres ce qui te convient pour ce dossier.
Ensuite tout nouveau fichier (1 ou plusieurs) qui seront mis dans ce dossier seront renommés avec ce texte+le numéro+_+le nom du fichier existant.

en espérant que cela te convienne.
Dis moi si tout fonctionne ...
Bloc de code:
on adding folder items to Mon_Dossier after receiving tous_les_fichiers
    tell application "Finder"
        repeat with liste_fichiers in tous_les_fichiers
          
            set nom_fichier to name of liste_fichiers
            set Mon_Dossier to Mon_Dossier as string
            set compteur to Mon_Dossier & "compteur.txt" -- recupere chemin du fichier compteur
          
            set sauv to AppleScript's text item delimiters --sauvegarder la variable delimiteur
            set AppleScript's text item delimiters to {":"}
            set nom to text item -2 of Mon_Dossier
            set AppleScript's text item delimiters to sauv --restaurer la variable delimiteur
          
            --verifie si fichier compteur existe sinon le crée
            if compteur exists then
              
            else
                display dialog "Veuillez saisir la partie qui sera avant le numéro pour ce dossier :" default answer "A"
                set reponse to text returned of result
                set lecompteur to open for access compteur with write permission
                write "chemin" & (ASCII character 13) & reponse & (ASCII character 13) & "0" to lecompteur starting at eof
                close access lecompteur -- ferme fichier compteur
            end if
          
            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 vartoto0 to paragraph 1 of lindex as string -- récupère la ligne 1
            set vartoto1 to paragraph 2 of lindex as string -- récupère la ligne 2
            set vartoto2 to paragraph 3 of lindex as string --récupère la ligne 3
            set ledernier to vartoto0 -- 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
          
            delay 0.5
          
            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 "000" & suivant
                set suivant to text -4 thru -1 of suivant -- numero sur 2 chiffres
              
              
                set liste_fichiers to liste_fichiers as string -- change chemin en texte
                set newnom to vartoto1 & suivant & "_" & nom_fichier
                set name of file liste_fichiers to newnom -- change nom du nouveau fichier
              
                set vartoto0 to Mon_Dossier & newnom
                set eof lecompteur to 0 -- pour effacer le fichier existant
                write vartoto0 & (ASCII character 13) & vartoto1 & (ASCII character 13) & suivant to lecompteur starting at eof -- met à jour le compteur
                close access lecompteur -- ferme fichier compteur
            end if
          
        end repeat
    end tell
  
end adding folder items to
 
Dernière édition:
Bonjour zeltron54 et merci beaucoup pour ta réponse.

Cela fonctionne parfaitement !! Encore merci pour ton aide :) Une petite question, est-il possible de remplacer le tiret du bas séparant le chiffre du nom du fichier par un point ?

C0001_nomdefichier devient : C0001.nomdefichier ?

Bonne journée !
 
Et une dernière chose, j'aurai peut-être besoin d'utiliser plus tard une numérotation après le nom fichier tel que : nomdefichier_c0001

Quelle ligne du script devrai-je modifier dans ce cas ?
 
Bonjour,
Pour remplacer le tiret bas par un point, modifier la 10ième ligne en partant du bas:
Bloc de code:
set newnom to vartoto1 & suivant & "_" & nom_fichier
par
Bloc de code:
set newnom to vartoto1 & suivant & "." & nom_fichier

pour changer l'ordre nomdefichier etc..., c'est la même ligne qui devient
Bloc de code:
set newnom to nom_fichier & "." & vartoto1 & suivant
en sachant que dans cette ligne:
Nom_fichier = Nom du fichier original
vartoto1 = le texte que tu as entré pour ce dossier
suivant = le numéro