IPB

Bienvenue invité ( Connexion | Inscription )

2 Pages V  < 1 2  
Reply to this topicStart new topic
> Inverser noms de fichiers en applescript + critères, Inverser deux noms de fichiers s'ils ont une racine commune
Options
Speed Moock
posté 1 Sep 2016, 20:33
Message #31


Adepte de Macbidouille
*

Groupe : Membres
Messages : 42
Inscrit : 30 Aug 2016
Membre no 199 619



Bonsoir,

Bilan ça fonctionne !

Donc maintenant pour aller plus loin je veux implanter ce code dans un Service Automator pour le lancer en faisant clic droit sur le dossier à traiter.

Or dans Automator la variable d'entrée est {input, parameters}.
J'ai essaye en mettant un "set monDossier to selection"... mais ça ne marche pas.

Quelle est la syntaxe exacte ?

Merci
Go to the top of the page
 
+Quote Post
chombier
posté 2 Sep 2016, 00:13
Message #32


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 5 784
Inscrit : 20 Mar 2003
Membre no 6 765



Citation (Speed Moock @ 1 Sep 2016, 21:33) *
Bonsoir,

Bilan ça fonctionne !

Donc maintenant pour aller plus loin je veux implanter ce code dans un Service Automator pour le lancer en faisant clic droit sur le dossier à traiter.

Or dans Automator la variable d'entrée est {input, parameters}.
J'ai essaye en mettant un "set monDossier to selection"... mais ça ne marche pas.

Quelle est la syntaxe exacte ?

Merci

Alors, Automator, je connais pas trop, mais je crois que la syntaxe est basée sur des clic souris... unsure.gif


--------------------
késtananafout' (:
Go to the top of the page
 
+Quote Post
PBell
posté 2 Sep 2016, 06:26
Message #33


Adepte de Macbidouille
*

Groupe : Membres
Messages : 175
Inscrit : 7 Dec 2013
Lieu : Ile de France
Membre no 188 169



Bonjour,
Dans le Service Automator, il faut commencer par indiquer, en haut de la fenêtre, ce que le service reçoit comme information et à partir de quelle application.

En face de "Le service reçoit la selection" -> sélectionner "Fichiers ou dossier"
puis, "dans" -> sélectionner "Finder"

Il faut ensuite ajouter une seule action : "Exécuter un script Applescript"
Par défaut, cette action contient :
CODE
on run {input, parameters}
    (* Your script goes here *)
    return input
end run


C'est la variable input qu'il faut utiliser pour récupérer le dossier sur lequel tu as fait le click droit.
Comme ton click droit contient la sélection, la première ligne de ton script, demandant de choisir le dossier, n'est plus nécessaire.
L'action script devient :
CODE
on run {input, parameters}    
    set monDossier to input
    (* mettre le reste du script qui fonctionne ici, en supprimant la 1ère ligne "set monDossier to choose folder "sélectionner le dossier à traiter" *)
    return input
end run


Tu enregistres le service (avec un nom explicite) et cela fonctionne. Ne cherche pas à tester la service dans Automator, tu auras une alerte car en mode direct, Automator ne peut récupérer les variables d'un service.

Pour être complet, j'ajoute qu'un tel service Automator pourrait recevoir, lors du click droit, non pas 1 dossier, mais toute une selection de dossiers ou fichiers. Dans ce cas, il faudrait faire une boucle sur chacun des items de "input" et vérifier que c'est bien un dossier (pas un fichier). Mais alors, me direz-vous, la variable input devrait être une liste d'items et pas un dossier !!
Oui, sauf que Automator est très gentil et lorsqu'il voit que Input ne contient qu'un élément, il accepte de le prendre comme tel et pas comme un seul item d'un liste !! Merci Apple !

Il reste que pour être vraiment propre, ton script devrait aussi comporter une ligne qui teste si monDossier" est bien un dossier et pas un fichier !

Cordialement


--------------------
iMac 27 i7 2,8GHz 8Go/1To 10.6.8 /10.10 / 10.11
iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11
Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8
Go to the top of the page
 
+Quote Post
Speed Moock
posté 4 Sep 2016, 16:40
Message #34


Adepte de Macbidouille
*

Groupe : Membres
Messages : 42
Inscrit : 30 Aug 2016
Membre no 199 619



Bonjour,

Parfait ! ça fonctionne.

Merci beaucoup et à bientôt (cf le prochain post que je vais ouvrir).

A+
Go to the top of the page
 
+Quote Post

2 Pages V  < 1 2
Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 18th February 2018 - 00:31