Bienvenue invité ( Connexion | Inscription )
26 Oct 2006, 18:07
Message
#1
|
|
|
Nouveau Membre Groupe : Membres Messages : 2 Inscrit : 6 Sep 2005 Membre no 45 306 |
Bonjour,
Je voudrais écrire un script qui fixe l'icone d'un répertoire à partir d'un fichier png. Je veux automatiser un maximum d'étapes. Je n'y arrive pas... mais bon, je suis débutant en applescript. J'ai réussi à faire : CODE tell application "Finder" set icon_image_file to file "mon_icon.png" of folder "Users:Users:luc:Desktop" set testdir to folder "test" of folder "Users:Users:luc:Desktop" -- save icon_image with itself as icon set icon_image_file_string to icon_image_file as string tell application "Image Events" launch set icon_image to open file icon_image_file_string save icon_image with icon close icon_image end tell -- ici on a bien le fichier png icon_image_file qui a changé d'icone -- NE FONCTIONNE PAS set icon of testdir to icon of icon_image_file end tell end run Comme vous pouvez le voir, je n'arrive pas copier l'icone de icon_image_file sur un répertoire (sur un fichier non plus d'ailleurs). J'ai cherché partout le web, et je n'ai rien trouvé si ce n'est des solutions qui ne fonctionnent pas. Avez-vous des idées ? Luc. Ce message a été modifié par bruce_luc - 26 Oct 2006, 18:44. |
|
|
|
![]() |
28 Oct 2006, 11:34
Message
#2
|
|
|
Nouveau Membre Groupe : Membres Messages : 2 Inscrit : 6 Sep 2005 Membre no 45 306 |
Salut,
Voici la solution : CODE on run set icon_image_file to file "Users:Users:luc:Desktop:mon_icon.png" as alias set testdir to file "Users:Users:luc:Desktop:test" as alias my saveImageWithItselfAsIcon(icon_image_file) my copyIconOfTo(icon_image_file, testdir) end run on saveImageWithItselfAsIcon(icon_image_file) -- save icon_image_file with itself as icon set icon_image_file_string to icon_image_file as string tell application "Image Events" launch set icon_image to open file icon_image_file_string save icon_image with icon close icon_image end tell end saveImageWithItselfAsIcon on copyIconOfTo(aFileOrFolderWithIcon, aFileOrFolder) tell application "Finder" to set f to aFileOrFolderWithIcon as alias -- grab the file's icon my CopyOrPaste(f, "c") -- now the icon is in the clipboard tell application "Finder" to set c to aFileOrFolder as alias my CopyOrPaste(result, "v") end copyIconOfTo on CopyOrPaste(i, cv) tell application "Finder" activate open information window of i end tell tell application "System Events" to tell process "Finder" to tell window 1 keystroke tab -- select icon button keystroke (cv & "w") using command down (* (copy or paste) + close window *) end tell -- window 1 then process Finder then System Events end CopyOrPaste Merci à Yvan sur MacScripter... Luc. Ce message a été modifié par bruce_luc - 29 Oct 2006, 01:01. |
|
|
|
25 Jun 2008, 14:27
Message
#3
|
|
|
Nouveau Membre Groupe : Membres Messages : 1 Inscrit : 25 Jun 2008 Membre no 116 718 |
Bonjour tout le monde,
je viens de lire cet applescript qui est super intéressant, et qui marche, mais j'aimerais savoir s'il est possible de se faire expliquer succinctement quelles fonctions sont utilisées, comment elles s'utilisent, en gros comment le script est fait (my copyorpaste etc), car j'aimerais bien comprendre ce script avant de l'utiliser. Merci d'avance |
|
|
|
| Guest_JackJr300_* |
26 Jun 2008, 01:51
Message
#4
|
|
Guests |
Bonjour,
CITATION(L'ami Ricoré @ 25 Jun 2008, 14:27) [snapback]2710753[/snapback] j'aimerais savoir s'il est possible de se faire expliquer succinctement quelles fonctions sont utilisées, comment elles s'utilisent, en gros comment le script est fait (my copyorpaste etc), Voici le script francisé avec les explications dedans. CODE on run set fichier_png to alias "Disque1:Users:jack:Desktop:Icon.png" set un_element to alias "Disque1:Users:jack:Desktop:dossier sans titre 2:" faire_une_icone(fichier_png) -- ceci appelle la fonction : faire_une_icone() copie_et_colle_icone(fichier_png, un_element) -- ceci appelle la fonction : copie_et_colle_icone() end run on faire_une_icone(fichier) -- fonction qui fait une icone du fichier (l'image png) tell application "Image Events" launch tell (open fichier) save with icon close end tell end tell end faire_une_icone on copie_et_colle_icone(fichier_png, un_element) Copie_ou_colle(fichier_png, "c") -- ceci appelle la fonction : Copie_ou_colle() -- ceci va copier l'icone dans le presse-papiers, le "c" est la touche simulée Copie_ou_colle(un_element, "v") -- ceci appelle la fonction : Copie_ou_colle() -- ceci va coller l'icone du presse-papiers dans la fenêtre information d'un élément, le "v" est la touche simulé end copie_et_colle_icone on Copie_ou_colle(i, cv) tell application "Finder" activate open information window of i end tell tell application "System Events" to tell process "Finder" to tell window 1 keystroke tab -- selectionne l'icone dans la fenêtre infos de l'élément qui est dans la variable i keystroke (cv & "w") using command down -- la variable cv contient le caractère "c" ou "v" -- simule la touche pomme +(c ou v), et simule pomme + w (ferme la fenêtre) end tell end Copie_ou_colle Éditer : le my avant l'appelle à la fonction n'est pas nécessaire, sil n'est pas dans un tell bloc. Ce message a été modifié par JackJr300 - 26 Jun 2008, 01:58. |
|
|
|
26 Jun 2008, 14:05
Message
#5
|
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 1 709 Inscrit : 13 Aug 2003 Lieu : Cagnes-sur-Mer Membre no 9 040 |
CITATION(JackJr300 @ 26 Jun 2008, 02:51) [snapback]2711357[/snapback] Éditer : le my avant l'appelle à la fonction n'est pas nécessaire, sil n'est pas dans un tell bloc. MERCIIIIIIIIII! (je n'avais jamais su pourquoi certaines fois j'étais obligé de mettre un "my", je croyais bêtement à une différence entre AS et ASS à+ -------------------- Pour DVD, iPad, HD, TV connectée, Western Digital, … iMovie & FCPX? MovieConverter-Studio 3.05 (11/05/2015)
Traiter les vidéos de vos caméscopes? …même en 50p comme 50i? …les ralentir? MovieCam Une planche contact de vos vidéos? MovieIndex Des petits Mickeys? v'là mon site pro |
|
|
|
![]() ![]() |
| Nous sommes le : 10th November 2025 - 23:31 |