Action sur dossier avec Automator Mac

Bonjour,


Je souhaiterais créer une action sur dossier, grâce à Automator. Il s'agit d'ajouter en automatique la date de création lorsqu'un fichier est copié dans un dossier spécifique.


J'ai créé l'automatisation sans problème, sauf que lorsque je colle un fichier dans le dossier, ou un sous-dossier dans le dossier, soit il ne se passe rien, soit il m'ajoute la date non pas une fois, mais 10, 20, 30... jusqu'à ce que j'arrête le processus. J'ai testé sur différents dossiers, j'ai testé d'autres actions (comme de copier un fichier dans le dossier), et j'obtiens toujours le même résultat : soit rien, soit l'action s'exécute en boucle jusqu'à ce que j'arrête manuellement le processus.


Avez-vous déjà rencontré ce problème ? Auriez-vous une solution ?


Merci par avance.


Caryn



AUTOMATOR - Action sur dossier qui dysfonctionne

[Titre Modifié par l’Hôte]

MacBook Pro 13″, macOS 13.1

Publiée le 31 mars 2023 à 10h38

Répondre
Question marquée comme Réponse la mieux classée

Publiée le 1 avr. 2023 à 09h34

Bonjour,


Je viens de faire un essai avec macOS Ventura 13.3 et le résultat est le même que le vôtre : la date est ajoutée ad nauseam.


La raison est qu'une action de dossier devient récursive lorsque vous renommez un fichier. C'est-à-dire, que le dossier voit l'ajout d'un fichier, consciencieusement le renomme et, là, le dossier voit qu'un nouveau fichier est apparu : celui qui a été renommé. Donc le dossier s'empresse à renommer celui-ci, cela jusqu'au moment où le nom du fichier est trop long et l'action s'achève.


Vous ne pourrez donc pas utiliser une action de dossier pour ce faire. L'alternative serait d'utiliser une Action Rapide dans Finder qui vous permettrait, après avoir sélectionné des fichiers, de renommer ceux-ci. Voici comment faire dans Automator :


Nommez cette action rapide, par exemple "Préfixer date au nom de fichier", puis dans Finder, après avoir sélectionné des fichiers, cliquez droit sur la liste puis choisissez Actions rapides puis le nom de votre action.


NB : Vous remarquerez que j'ai sélectionné "Préfixer par des zéros". Cela vous permettra de voir vos fichiers dans l'ordre dans Finder (sinon 202341, pour le 1er avril 2023, serait situé après 2023101, pour le 1er octobre 2023).


Bon week-end !

Questions similaires

12 réponses
Question marquée comme Réponse la mieux classée

Le 1 avr. 2023 à 09h34 en réponse à Caryn_G

Bonjour,


Je viens de faire un essai avec macOS Ventura 13.3 et le résultat est le même que le vôtre : la date est ajoutée ad nauseam.


La raison est qu'une action de dossier devient récursive lorsque vous renommez un fichier. C'est-à-dire, que le dossier voit l'ajout d'un fichier, consciencieusement le renomme et, là, le dossier voit qu'un nouveau fichier est apparu : celui qui a été renommé. Donc le dossier s'empresse à renommer celui-ci, cela jusqu'au moment où le nom du fichier est trop long et l'action s'achève.


Vous ne pourrez donc pas utiliser une action de dossier pour ce faire. L'alternative serait d'utiliser une Action Rapide dans Finder qui vous permettrait, après avoir sélectionné des fichiers, de renommer ceux-ci. Voici comment faire dans Automator :


Nommez cette action rapide, par exemple "Préfixer date au nom de fichier", puis dans Finder, après avoir sélectionné des fichiers, cliquez droit sur la liste puis choisissez Actions rapides puis le nom de votre action.


NB : Vous remarquerez que j'ai sélectionné "Préfixer par des zéros". Cela vous permettra de voir vos fichiers dans l'ordre dans Finder (sinon 202341, pour le 1er avril 2023, serait situé après 2023101, pour le 1er octobre 2023).


Bon week-end !

Le 24 avr. 2023 à 12h35 en réponse à Caryn_G

Bonjour Caryn,


J'ai finalement trouvé une solution avec un dossier unique, sans récursivité, tel que vous la cherchiez au départ.



Vous pourrez copier le script AppleScript ici :


on run {input, parameters}
	
	repeat with thisFile in input
		
		set fileName to (name of (get info for thisFile))
		set fileCreationDate to (creation date of (get info for thisFile))
		set {year:y, month:m, day:d} to (fileCreationDate)
		set dayNumber to text -1 thru -2 of ("00" & d)
		set monthNumber to text -1 thru -2 of ("00" & (m * 1))
		set datePrefix to (y & monthNumber & dayNumber) as text
		
		if fileName does not start with datePrefix then
			
			tell application "Finder"
				set newFileName to datePrefix & " - " & fileName
				set name of thisFile to newFileName
			end tell
			
		end if
		
	end repeat
	
	return input
	
end run


J'ai rencontré quelques problèmes pour le rendre effectif mais, si vous en avez, la solution semble toujours être de supprimer les actions de dossier ("Configurer des actions de dossier", dans mon message précédent) et de configurer l'action de dossier en cliquant droit sur votre dossier, de choisir "Configurer des actions de dossier" et de sélectionner le processus/fichier que vous avez créer dans Automator.


Notez que dans le processus, j'utilise le dossier "Documents". Il vous faudra bien entendu choisir votre propre dossier dans le processus et de choisir celui-ci dans "Configurer des actions de dossier", si le processus ne fonctionne pas correctement.


Notez enfin que j'utilise le format "YYYYMMDD - nom du fichier originel", où YYYY est l'année, MM le mois et DD le jour (variable datePrefix dans le script) suivi d'un espace, d'un tiret, d'un autre espace et enfin le nom du fichier originel. Modifiez ce format à votre convenance.

Le 18 avr. 2023 à 10h56 en réponse à Caryn_G

Hello Caryn,


Pour répondre à votre nouvelle question, utilisez la "Configuration des actions de dossier" en cliquant droit sur un dossier quelconque :



Ensuite, supprimez (ou décochez) les dossiers pour lesquels vous ne désirez plus utiliser ces actions et/ou supprimez (ou décochez) les actions d'un dossier vous ne désirez plus utiliser (notez que ma capture d'écran ci-dessous ne montre aucune action ; c'est normal car je n'ai aucune action définie sur ce Mac) :



Au sujet de votre question originelle, j'ai peut-être une solution mais qui serait "en deux parties". En utilisant deux dossiers ("Inbox", reçu et "Outbox", dans ce cas particulier "traité" et non pas envoyé), vous pourriez déposer des fichiers dans le dossier "Inbox" et consultez les fichiers renommés dans le dossier "Outbox" (les fichiers dans "Inbox" seraient supprimés après avoir été traités) .


Ce n'est pour le moment qu'une idée. Je ne sais pas si cette solution serait plus pratique pour vous que d'utiliser une "Action Rapide" tel que je vous l'avez proposée mais, au moins, vous auriez un choix. Je ferai des essais et je vous tiendrai au courant.

Le 2 avr. 2023 à 11h31 en réponse à Caryn_G

Hello Caryn,


J’ai fait des essais supplémentaires (en utilisant des tags, par exemple pour empêcher l’exécution après la modification du nom de fichier) et chacun se sont voués à l’échec. Quoiqu’il se passe dans le dossier, l’automatisation est déclenchée.


Je me demande maintenant s’il n’y aurait pas une solution complètement différente. J’imagine que votre intention est de glisser des fichiers vers ce dossier et d’ensuite utiliser ces fichiers renommés. Selon l’usage que vous avez de ces fichiers renommés, il serait possible de créer une procédure qui vous permettrait de les utiliser “directement”.


Si cette information n’est pas personnelle, pourriez-vous nous dire ce que vous comptez faire de ces fichiers ? Une sauvegarde ? Les expédier par mail ? Autre ?

Le 18 avr. 2023 à 09h50 en réponse à 6x6

Bonsoir,


Désolée pour le délai de réponse, je n'avais pas vu votre question.


En fait, le but est simplement de pouvoir classer ces fichiers par date dans le dossier. Il s'agit de devis pour lesquels nous faisons plusieurs aller retour avec les artisans : je voulais que les versions les plus récentes s'affichent automatiquement en haut de mon dossier.


J'en profite pour vous poser une autre question : savez-vous où sont enregistrées par défaut les actions de dossier ? Je pensais avoir supprimé cette action qui me rajoute des dates à l'infini, mais je viens de redémarrer mon Mac, et le problème est revenu. Or, tout cela commence à dater un peu, impossible de retrouver l'endroit où ce processus s'est enregistré !


Merci de votre retour.


Cette discussion a été fermée par le système ou l’équipe de la communauté. Vous pouvez voter pour les publications que vous jugez utiles ou effectuer des recherches dans la communauté pour trouver des réponses supplémentaires.

Action sur dossier avec Automator Mac

Bienvenue dans la Communauté d’assistance Apple
Un forum où les clients Apple s’entraident avec leurs produits. Faites vos premiers pas avec votre compte Apple.