IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AppleScript Discussion :

Créer un dossier avec sous dossier avec automator ou applescript


Sujet :

AppleScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Par défaut Créer un dossier avec sous dossier avec automator ou applescript
    Bonjour,
    Mes recherches étant restées vaines, je viens chercher de l'aide.
    Je souhaiterais créer une action de dossier avec automator qui créerait un dossier contenant des sous dossiers (pourquoi action de dossier et non processus ? parce que je souhaite assigner à ce dossier des actions sur les fichiers qu'il recevra).
    Dans automator, j'arrive à créer un nouveau dossier à un emplacement bien précis mais je ne sais pas comment faire pour créer dans ce dossier un sous dossier ayant le nom --ENVOYES.
    J'ai essayé l'utilisation de variables avec automator, mais je patauge un peu et je me suis dis que l'applescript serait la solution.
    Pouvez-vosu m'aider ?

  2. #2
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonjour,
    Je pense avoir décrit ce que tu cherches dans un article sur les actions de dossier en Applescript, sur ce site, à cette adresse : ici

    En particulier, je me suis penché, dans l'article, sur ta question (souvent posée) : comment créer un sous dossier lors d'une action de dossier ?

    Effectivement, il y a une astuce décrite dans l'article pour éviter que l'action ne s'appelle elle même !

    Cordialement

  3. #3
    Membre confirmé
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Par défaut Merci, je vous tiens au courant
    Merci pour l'info. Effectivement ça à l'air assez complet et précis. Je vais essayer de l'adapter à mon cas et vous tiens informé dans le courant de la semaine prochaine.
    Merci encore.

  4. #4
    Membre confirmé
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Par défaut
    Juste pour vous tenir au courant. J'ai réussi mon premier applescript en m'inspirant du script de PBell et d'un autre trouvé sur le web. J'arrive donc à créer un (ou plusieurs dossiers) contenant des sous dossiers. La première étape est franchie.
    Merci beaucoup PBell.

    Je souhaite maintenant attribuer une action de dossier à un sous dossier créé (nom du sous dossier : "--PDF").
    J'ai créé ce processus avec automator et enregistré dans un dossier que j'ai nommé "Scripts" (il n'est donc pas rangé à l'endroit par défaut où les enregistre habituellement automator).

    Es-il possible d'appliquer cette action au sous dossier '--PDF" dès sa création ?
    En effet, ce sous dossier est destiné à recevoir des fichiers. En entrant dans ce sous dossier, je souhaite leur appliquer cette action (action que j'ai nommée "ActionDossier-ASSISTANTES.scpt")

    Ci-dessous le code utilisé pour la création du sous dossier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    make new folder at folder "PUB" of folder nouveau_dossier_client of folder "AFC" of folder "ASSISTANTES" of folder "SAVE" with properties {name:"--PDF"}
    Si quelqu'un peut m'aider ?

  5. #5
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonjour Pierre,
    Les actions de dossiers étant gérées directement par le système, les scripts correspondant doivent obligatoirement être à la place indiquée dans l'article (il y a une place pour les scripts et une pour les actions Automator). je ne connais pas d'autre alternative

    Donc ton script doit obligatoirement être stocké là où il faut.
    Cependant, tu peux essayer en y mettant un alias (qui pointe vers ton script là où il est). Je n'ai pas essayé... A toi de voir.
    Mais il est aussi simple d'y mettre ton script plutôt que d'y créer un alias qui pointe vers ton script. Bouger/dupliquer un fichier est simple avec AS !

    Pour ce faire, toujours dans le même article, le second script du II-a permet l'ajout d'un script action de dossier en bonne place. Tu peux t'en inspirer connaissant où est ton script d'action de dossier (tu évites la saisie du nom du script à installer comme dans l'exemple).

    Par ailleurs, Oui, il est très facile d'assigner une action de dossier par script à ton nouveau dossier --PDF.
    Toujours dans le même article, un script qui fait la même chose est décrit en III-b

    Cordialement

  6. #6
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonjour,
    Je pense qu'une partie du problème vient du fait d'une analyse incorrecte de ce que tu voulais faire au début. Rassure toi, ton cas n'est pas unique !
    En 34 ans de développement, je confirme que les défauts d'analyses de besoins représentent 95% des échecs de mise en place en entreprise.
    On part d'une idée et, en cours de développement, on passe son temps à ajouter des "plus" qui finissent par tout embrouiller...voir même rendre les choix initiaux insupportables !
    C'est ce qui t'arrive ... pas de panique !

    Quand on est perdu, il faut reprendre avec des explications simples ce qui se passe.
    Ton premier script demande le nom d'un client (supposons "Toto") puis crée des dossiers / sous-dossiers à partir d'un dossier fixe Encours:AFC. Le résultat est le suivant (les N° indiquent l'arborescence):
    1 Encours:AFC
    - 2 Toto
    - 3 PUB
    - 4 LINKS
    - 4 INDIVIDUELLES
    - 4 PDF qui contient un sous-dossier VALIDATION
    Le dossier PDF est associé à une action de dossier prédéfinie (script 2).

    Lorsque que tu déposes un fichier F dans le dossier PDF, l'action de dossier se déclenche.
    Là encore décomposons en se référant à l'exemple ci-dessus :
    L'action récupère le nom du client "Toto" (container of container de PDF est bien Toto)
    Création, si nécessaire d'un dossier "Toto" vide dans un autre dossier fixe (Assistantes:AFC)
    Duplication de F du dossier Encours:AFC / Toto / PUB / PDF / F vers le dossier Assistantes:AFC / Toto (avec effacement de l'ancien F si il existe)
    Action Automator de réduction de la taille des PDF du dossier Assistantes:AFC / Toto

    Pour l'action Automator que je n'ai pas, je suppose qu'elle s'exécute sur tous les PDF du dossier Toto car c'est le nom du dossier que tu transmets et pas celui du fichier.
    J'en profite pour souligner que c'est sans doute inutile car les autres PDF qui s'y trouvent déjà résultent d'actions précédentes et sont donc déjà compressé ! Non ?

    Donc pourquoi mettre ton action Automator dans le script d'action associé à PDF ?
    Ce que tu souhaites faire finalement avec Assistante:AFC / Toto est une compression de chaque PDF ajouté...cela ressemble furieusement à une action de dossier sur Assistance:AFC / Toto, tu ne crois pas ?

    Donc je te propose :
    1) Supprimer le lancement d'Automator dans le script 2
    2) Ajouter dans ce script 2, l'ajout d'une action de dossier au dossier Chemin_AFC & Nom_Client lorsque celui-ci est crée. Cette action de dossier est une action Automator :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        -- en début de folder action
    set Mon_Flow to "ActionDossier-ASSISTANTES.workflow"
    -- plus loin dans le script, juste après la ligne Set Nom_Fichier to Name of Fichier, insère le code ci-dessous
    -- Si le dossier Nom_Client dans le dossier AFC n'existe pas : on le crée
                if not (exists (Chemin_AFC & Nom_Client)) then
                    set F_Client to makenewfolder in Chemin_AFCwith properties {name:Nom_Client}
                    tell application "System Events" to set Dossier_WFlow to (path to workflows folder from user domain) as string
                    set Le_Flow to Dossier_WFlow & "Applications:Folder Actions:" & Mon_Flow
    -- vérification que le worflow prédéfini existe. Sinon, on quitte le script !
                    tell application "Finder"
                        if not (exists file Le_Flow) then return
                    end tell
                    tell application "System Events" to attach action to F_Client using (Le_Flow as string)
                end if
    Note : remarque qu'il faut aller mettre en dur une partie du chemin vers l'action de dossier Automator car cette partie n'est pas prévue dans le User Domain par Apple. J'espère qu'elle ne change pas d'un version OS X à l'autre !

    3) Re-créer ton processus Automator de compression de PDF sous forme d'une action de dossier Automator qui, à chaque fois qu'un PDF sera déposé, fera une compression de celui-ci

    Donc pour résumer , on a 3 programmes:
    Script 1, créer les dossiers nécessaires et assigner l'action script 2 au dossier PDF
    Script 2, lorsqu'un PDF est déposé dans PDF, le copie dans un autre dossier Assistantes/AFC/nom-client (qu'il crée, si nécessaire, en associant à une action Automator)
    Action dossier Automator qui compresse tout PDF déposé dans le dossier

    J'espère avoir été clair !
    Bon Dimanche

  7. #7
    Membre confirmé
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Par défaut Bonsoir PBell
    Tu as bien compris le cheminement? J'essaies depuis cet après-midi ta solution qui serait l'idéal mais ça ne marche.
    Les fichiers entrant dans le sous-dossier --PDF ne se copie pas toujours dans le dossier "Save:Assistantes:AFC:Nom-Client". Des fois oui, des fois non.
    En plus, aucune compression ne se fait (lorsque la copie a lieu) avec mon action de dossier Automator (j'ai vérifié les chemins d'accès auw workflows et ils sont bon).
    Je pense que ça doit venir du positionnement de la ligne Duplicate car selon où je la place, ça marche ou pas (tu remarquera que j'ai rajouté with replacing sur cette ligne).
    Sur cette ligne si je remplace Chemin_AFC & Nom_Client par F_Client il n'y a pas de différence.
    Je te remets le code entier du script Action PDF.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    -- Script à enregistrer dans Bibliothèque / Scripts / Folder Action Scripts
    -- On suppose, dans le second script que celui-ci s'appelle "Action PDF"
     
    on adding folder items to Mon_Dossier after receiving Liste_Fichiers
     
    	-- bien définir le nom du chemin selon qu'il s'agit d'un disque distant ou d'un dossier sur le même disque !
    	-- par exemple : Set Chemin_AFC to "Volumes:Mon_Disque_Serveur:Users:Nom_user:Save:Assistantes:AFC:"
    	set Chemin_AFC to "Save:Assistantes:AFC:"
     
     
    	-- On attache le script Automator
    	set Mon_Flow to "ActionDossier-ASSISTANTES.workflow"
     
     
     
    	tell application "Finder"
    		set Dos_client to container of container of Mon_Dossier -- lit le dossier parent du sous dossier contenant le dossier dans lequel on a déposé les fichiers
    		set Nom_Client to name of Dos_client
     
     
    		repeat with Fichier in Liste_Fichiers -- boucle car il est possible que l'on aie déposé plusieurs fichiers !
    			set Nom_Fichier to name of Fichier
     
     
     
    			-- Si le dossier Nom_Client dans le dossier AFC n'existe pas : on le crée
    			if not (exists (Chemin_AFC & Nom_Client)) then
    				set F_Client to make new folder in Chemin_AFC with properties {name:Nom_Client}
     
     
    				tell application "System Events" to set Dossier_WFlow to (path to workflows folder from user domain) as string
    				set Le_Flow to Dossier_WFlow & "Applications:Folder Actions:" & Mon_Flow
    				-- vérification que le worflow prédéfini existe. Sinon, on quitte le script !
    				tell application "Finder"
    					if not (exists file Le_Flow) then return
    				end tell
     
     
    				tell application "System Events" to attach action to F_Client using (Le_Flow as string)
    			end if
     
     
    			set N_Fichier to duplicate Fichier to folder F_Client with replacing --copie du fichier initial vers Chemin_AFC : Nom_Client :
     
     
    			-- attente de fin de téléchargement avant de renommer (vérification que la taille ne change plus)
    			try
    				set OldSize to -1
    				repeat until (size of N_Fichier) = OldSize
    					set OldSize to (size of N_Fichier)
    					delay 0.5
    				end repeat
    			end try
     
    		end repeat
     
     
    	end tell
     
     
    end adding folder items to
    Merci encore pour ton aide et ton dévouement.
    Je sais qu'on va y arriver.

  8. #8
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonsoir,
    Citation Envoyé par L'escouade de Pierre Voir le message
    Les fichiers entrant dans le sous-dossier --PDF ne se copie pas toujours dans le dossier "Save:Assistantes:AFC:Nom-Client". Des fois oui, des fois non.
    Le terme "des fois" ne rime pas très bien avec "informatique" !
    J'ai fait une simulation chez moi avec des dossiers sources différents (Save:Assitantes:AFC:Nom client) et je n'ai pas le "des fois", mais le "ça marche toujours"...donc il y a autre chose sur ton/tes Mac.

    Il te faut d'abord déterminer ce qui se passe vraiment, surtout quand les fichiers entrant dans -- PDF ne se copient pas.
    Quand la copie ne se fait pas :
    1) fait un click droit sur le dossier PDF, puis menu action de dossier et vérifie bien que ton action est bien liée à ce dossier comme prévu. C'est le cas ?
    2) lorsque tu insères un fichier dans --PDF, est-ce que le dossier Save:Assistantes:AFC: nom client se crée bien ? (si oui, cela signifie que l'action de dossier sur --PDF se déclenche bien)
    3) en sélectionnant le dossier nom du client dans Save:Assistantes:AFC, puis click droit / action de dossier, vois tu bien l'action Automator attachée comme prévu ?
    4) Est-ce que tu as bien toutes les autorisations pour modifier les dossiers concernés via script (attention, en 10.9 la gestion des droits via AppleScript a changé, et elle est plus contraignante) J'ai l'intuition que c'est là où peut être le problème...!

    Pour voir où ça coince, n'hésite pas à mettre des traces (Tell application "Finder" to display dialog "je suis à la ligne xxx") qui te permettent de bien voir par où passe le code et surtout, où il ne passe pas.
    Comme cela fonctionne chez moi, je ne peux guère t'aider davantage en attendant que tu vérifies les points ci-dessus.
    Il est aussi possible que tes actions de dossier mettent quelques secondes avant de se déclencher

    Cordialement

    Dernière petite question stupide : pourquoi tu ne compresses pas le PDF dès son dépôt dans --PDF ? (avant toutes copie vers l'autre dossier ?)

  9. #9
    Membre confirmé
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Par défaut Je vérifie tout ça...
    Salut PBell,

    Je vais vérifier tout ça et te tiens au courant.
    Pour répondre à ta question, j'ai besoin de 2 pdf du même document : 1 qui doit être en haute résolution et qui va dans le dossier --PDF et un autre en basse définition qui va dans Save:Assistantes:AFC:Non_Client.
    Le 1er est pour nous et est destiné à l'impression (donc haute définition) et le 2° est envoyé par mail aux clients pour validation (donc basse définition pour le transfert et pour éviter qu'ils récupèrent un fichier de bonne qualité pour d'autres utilisation (transmettre à nos concurrents ou autre)).

    Effectivement, on pourrait voir les choses autrement :
    le fichier PDF entre dans --PDF, on en fait une copie en le renommant avec BD- devant le nom initial, on compresse ce fichier (avec par exemple mon processus automator), puis on le transfère dans Save:Assistantes:AFC:Non_Client.
    Est-ce possible ?
    L'avantage c'est qu'il y aurait qu'un action de dossier (sur --PDF) au lieu de 2 (sur --PDF et Save:Assistantes:AFC:Non_Client).

    Par ailleurs pour la compression, j'applique un filtre quartz via Automator mais peut-être peut-on recourrir directement aux Jobs prévu dans DIstiller (configuration PDF:X-2001 pour la haute définition et PDf:Taille minimale pour les fichiers compressés).
    Qu'en penses-tu ?

    En tout cas, dès que j'ai pu vérifier les point que tu évoques, je te tiens au courant.

    Merci encore

  10. #10
    Membre confirmé
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Par défaut Je bloque... Pas très fort en Applecript
    Bonsoir,
    Je bloque et n'arrive pas à résoudre mon problème.
    Le voici :
    J'arrive à créer un dossier (variable = Nouveau_dossier_client) contenant, entre autre, un sous-dossier nommé --PDF. Ce dossier est destiné à recevoir des fichiers.
    Ce que je voudrais :
    Dès l'ajout du premier fichier pdf dans ce dossier "--PDF", assigner à ce dossier une action de dossier ayant les 3 actions suivantes :
    1- Créer d'abord un dossier à l'emplacement :
    Save/Assistantes/AFC/Nouveau_dossier_client (donc créer un dossier contenant le même nom que celui créé précedemment mais placé à un autre endroit). Ce nouveau dossier devrait contenir un sous-dossier appelé --ENVOYES
    2- Dupliquer le fichier pdf, le renommer (avec BD-) devant le nom
    3- Déplacer la copie allégée dans le dossier Nouveau_dossier_client du disque Save.

    Ce que je souhaite, c'est automatiser au maximum les choses. Dans votre script PBell, il y a une boite de dialogue qui sert à l'utilisateur à sélectionner les dossiers de destination mais je voudrais éviter cela.
    Je pense arriver à réaliser le point n°2 (grâce à un processus Automator).
    Mais pour les points n°1 et 3, je pense que la solution est applescript.

    J'espère avoir été clair et si vous pouvez m'aider vous trouverez ci-dessous mon code actuel.

    Merci de votre aide.
    (j'espère avoir bien utiliser les instructions du modérateur)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    -- Nommer le dossier créé
    set nouveau_dossier_client to text returned of (display dialog "Nouveau nom de ce dossier ?" default answer "" buttons {"Annuler", "Ce nom est TOP"} default button 2 with title "VOTRE CHOIX" with icon note giving up after 20)
     
     
    -- Création du Dossier Parent chez les GRAPHISTES
     
    tell application "Finder"
    activate
    make new folder at folder "AFC" of folder "ActionDossier-TravauxEnCours" of folder "TRAVAUX" of startup disk with properties {name:"X-" & nouveau_dossier_client}
    set name of folder ("X-" & nouveau_dossier_client) of folder "AFC" of folder "ActionDossier-TravauxEnCours" of folder "TRAVAUX" of startup disk to nouveau_dossier_client
     
    -- Création du sous-dossiers du Dossier Parent chez les graphistes
     
    make new folder at folder nouveau_dossier_client of folder "AFC" of folder "ActionDossier-TravauxEnCours" of folder "TRAVAUX" of startup disk with properties {name:"PUB"}
     
    make new folder at folder "PUB" of folder nouveau_dossier_client of folder "AFC" of folder "ActionDossier-TravauxEnCours" of folder "TRAVAUX" of startup disk with properties {name:"--PDF"}
     
     
     
    -- Création du Dossier Parent chez les graphistes
    display dialog "Le dossier " & nouveau_dossier_client & " a été créé pour les GRAPHISTES buttons {"OK"} default button 1 with icon 1
     
    end tell

  11. #11
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonjour,

    Nous allons donc décomposer le problème en 2 parties :
    A) un script que tu pourras lancer à la création d'un client
    B) un script d'action de dossier à installer une fois pour toutes


    A) Script à la création d'un nouveau client.
    Je te conseille de mettre ce script dans le dossier "Scripts" de ta Bibliothèque et de cocher, dans l'Editeur de Script / Préférences / General, la case "Afficher le menu des scripts". Tu pourras ainsi lancer ce script via le menu en forme de parchemin qui va apparaître en haut à droite de ton écran.

    Ce script demande l'emplacement où créer le dossier client, demande son nom (le nom du client à priori ?), vérifie que ce dossier n'existe pas déjà, puis le crée. Il crée ensuite un sous dossier "--PDF" auquel il associe une action de dossier prédéfinie (variable Action).
    Le voici avec des commentaires :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    -- Script permettant la création d'un dossier client
     
    -- 1 Saisie de l'emplacement
    -- 2 Saisie du nom du dosser (le nom du client ?)
    -- 3 création de ce dossier et création d'un sous dossier "--PDF"
    -- 4 assignation à ce sous dossier PDF d'une action de dossier préalablement enregistrée
     
    set Action to "Action PDF" -- le nom de l'action de dossier enregistrée dans Bibliothèque / Scripts / Folder Action Scripts
     
    tell application "Finder"
    	set Emplacement to choose folder with prompt "Sélectionnez l'emplacement de votre dossier client"
    	set Dos_Emp to Emplacement as string
     
    	-- boucle de saisie du nom de client jusqu'à ce que Mon_OK soit vrai (= la saisie n'est pas vide et la dossier n'existe pas déjà)
    	set Mon_OK to false
    	repeat until Mon_OK
    		set Nom_Client to "Nom_Client"
    		set Saisie to (display dialog "Saisissez le nom du client" default answer Nom_Client)
    		set Nom_Client to text returned of Saisie
    		if not (Nom_Client is "") then if not (exists (Dos_Emp & Nom_Client)) then set Mon_OK to true
    		if not Mon_OK then display dialog "Le nom saisi est vide ou ce nom existe déjà !" & return & "Veuillez resaisir un nom."
    	end repeat
     
    	-- création du dossier client et sous dossier "--PDF"
    	set D_Client to make new folder in Emplacement with properties {name:Nom_Client}
    	set D_PDF to make new folder in D_Client with properties {name:"--PDF"}
    end tell
     
    -- Assingation de l'action de dossier au dossier "--PDF"
    -- Récupération du chemin par défaut des Folder Action Scripts dans le domaine utilisateur
    tell application "System Events" to set Dossier_Scripts to (path to Folder Action scripts folder from user domain) as string
    set Mon_Script to (Dossier_Scripts & Action)
    -- vérification que le script prédéfini existe. Sinon, on quitte le script !
    tell application "Finder"
    	if not (exists file Mon_Script) then return
    end tell
    tell application "System Events" to attach action to D_PDF as alias using (Mon_Script as string)
     
    activate -- permet de remettre le script au premier plan pour voir le dialog.
    display dialog "Le dossier client " & Nom_Client & " est crée avec succès !" buttons {"OK"} default button 1 giving up after 3

    B) Le second script est l'action de dossier proprement dite.
    Pour ce dernier, tes derniers commentaires me font douter.
    Prenons un exemple :
    Soit un dossier client "Toto" avec sous dossier "--PDF" dans lequel on va ajouter un fichier "Fichier_Test".
    Il y a par ailleurs un dossier AFC (chemin Save:Secretaire/AFC") qui existe.

    Lors de l'ajout de "Fichier_Test", le script vérifie dans le dossier AFC si un dossier "Toto" existe (sinon, le crée) avec un sous dossier "Envoyes" dans lequel j'ajoute "Fichier_Test" en changeant son nom en "BD-Fichier_Test".
    donc à la fin on a : AFC / Toto / Envoyes / BD-Fichier_Test

    Compte tenu de tes derniers commentaires, je me demande si, en fait, tu ne veux pas finir avec : AFC / "nouveaux clients" / Envoyes / DB-Fichier_Test
    ("nouveaux clients" étant, je suppose, un sous dossier déjà crée ?).

    J'ai suffisamment commenté le script ci-dessous pour pouvoir adapter au second cas si nécessaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    -- Script à enregistrer dans Bibliothèque / Scripts / Folder Action Scripts
    -- On suppose, dans le second script que celui-ci s'appelle "Action PDF"
     
    on adding folder items to Mon_Dossier after receiving Liste_Fichiers
     
    	-- bien définir le nom du chemin selon qu'il s'agit d'un disque distant ou d'un dossier sur le même disque !
    	-- par exemple : Set Chemin_AFC to "Volumes:Mon_Disque_Serveur:Users:Nom_user:Save:Assistantes:AFC:"
    	set Chemin_AFC to "Save:Assistantes:AFC:"
     
    	tell application "Finder"
    		set Dos_client to container of Mon_Dossier -- lit de dossier parent du dossier dans lequel on a déposé les fichiers
    		set Nom_Client to name of Dos_client
    		repeat with Fichier in Liste_Fichiers -- boucle car il est possible que l'on aie déposé plusieurs fichiers !
    			set Nom_Fichier to name of Fichier
    			-- Si le dossier Nom_Client dans le dossier AFC n'existe pas : on le crée
    			if not (exists (Chemin_AFC & Nom_Client)) then make new folder in Chemin_AFC with properties {name:Nom_Client}
    			-- le dossier "Envoyes" dans le dossier Client dans le dossier secretaire n'existe pas : on le crée
    			if not (exists (Chemin_AFC & Nom_Client & ":Envoyes")) then make new folder in (Chemin_AFC & Nom_Client) with properties {name:"Envoyes"}
    			set N_Fichier to duplicate Fichier to folder (Chemin_AFC & Nom_Client & ":Envoyes") --copie du fichier initial vers Chemin_AFC : Nom_Client : "Envoyes"
    			set name of N_Fichier to "BD-" & Nom_Fichier -- renomme le fichier copié avec "BD-" devant le nom initial
    		end repeat
    	end tell
    end adding folder items to
    Attention : ce script doit être enregistré en action de dossier, avec le nom "Action PDF" (voir le premier script). Par ailleurs, il est probable qu'il faille ajuster le chemin de dossier AFC.
    En effet ce chemin dépend où est le dossier "secretaires".
    Si il est sur un serveur distant, le chemin doit probablement commencer par "Volumes:...".
    Si il est sur un user Mac, le chemin est Disque/Users/Mon_User/...
    A toi de l'adapter !

    Bon courage

  12. #12
    Membre confirmé
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Par défaut Quelle rapidité
    Salut PBell,

    J'ai parcouru rapidement ton message et le dissequerais ce w.e. Merci pour ta rapidité. Je te tiens au courant.
    En tout cas, c'est hyper sympa de ta part.
    A bientôt.

  13. #13
    Membre confirmé
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Par défaut Super le script
    Salut PBell,

    Tes 2 scripts fonctionnent à merveille, toutefois en voulant l'adapter à mon cas, je me retrouve bloquer (et oui, encore). En fait, j'ai surtout travailler pour l'instant sur le 1° script.
    Au début de celui-ci tu fais ouvrir une fenêtre pour recherche le dossier d'enregistrement. Or dans mon cas, tous les dossiers créés seront enregistrés au même endroit, donc je voudrais passer directement à l'étape de nommer le nom du fichier. Il faudrait donc définir une fois pour toute le chemin d'accès au dossier d'enregistrement (qui s'appelle chez moi "AFC").
    Alors voici ce que j'ai fais (il y a sans doute une façon plus académique de le faire mais je fais avec mes moyens limités en applescript).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    set Action to "Action PDF" -- le nom de l'action de dossier enregistrée dans Bibliothèque / Scripts / Folder Action Scripts
     
    tell application "Finder"
     
    	set Emplacement to "HHD:TRAVAUX:ActionDossierTravauxEnCours:AFC"
    	set Dos_Emp to Emplacement as string
     
     
    	-- boucle de saisie du nom de client jusqu'à ce que Mon_OK soit vrai (= la saisie n'est pas vide et la dossier n'existe pas déjà)
    	set Mon_OK to false
    	repeat until Mon_OK
    		set Nom_Client to "Nom_Client"
    		set Saisie to (display dialog "Saisissez le nom du client" default answer Nom_Client)
    		set Nom_Client to text returned of Saisie
    		if not (Nom_Client is "") then if not (exists (Dos_Emp & Nom_Client)) then set Mon_OK to true
    		if not Mon_OK then display dialog "Le nom saisi est vide ou ce nom existe déjà !" & return & "Veuillez resaisir un nom."
    	end repeat
     
    	-- création du dossier client et sous dossier PUB avec ses sous-dossiers dont "--PDF"
     
    	-- création du dossier client
    	set D_Client to make new folder of "HDD:TRAVAUX:ActionDossierTravauxEnCours:AFC" with properties {name:Nom_Client}
     
    	-- création du sous dossier PUB avec ses sous-dosiers dont "--PDF" Couleur etiquette different pour "--PDF"
    	make new folder of "HDD:TRAVAUX:ActionDossierTravauxEnCours:AFC:Nom_Client" with properties {name:"PUB"}
    	set D_PDF to make new folder of "HDD:TRAVAUX:ActionDossierTravauxEnCours:AFC:Nom_Client:PUB" with properties {name:"--PDF"}
    	set label index of D_PDF to 6
    	set Validation_PUB to make new folder of "HDD:TRAVAUX:ActionDossierTravauxEnCours:AFC:Nom_Client:PUB" with properties {name:"VALIDATION"}
    	set label index of Validation_PUB to 2
    	make new folder of "HDD:TRAVAUX:ActionDossierTravauxEnCours:AFC:Nom_Client:PUB" with properties {name:"LINKS"}
    	make new folder of "HDD:TRAVAUX:ActionDossierTravauxEnCours:AFC:Nom_Client:PUB" with properties {name:"INDIVIDUELLES"}
    Et ça marche parfaitement tant que je laisse comme nom de dossier Nom_Client mais quand j'indique un autre nom, ça ne marche pas. En fait, il faudrait ajouter au chemin le nom de dossier choisi. Or je ne sais pas inclure dans un chemin d'accès le nom d'une variable.
    D'ailleurs, est-ce possible ?

    Si tu avais quelques minutes pour m'aider, ce serait super.

    A bientôt.

  14. #14
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonjour,

    Tout d'abord tu peux réduire les lignes 5 et 6 de ton script en une seule ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Dos_Emp to "HHD:TRAVAUX:ActionDossierTravauxEnCours:AFC"
    Dans le code initial, il y a vait 2 lignes car il fallait convertir un alis (le dossier choisi) en sa valeur string. Ici, tu affectes Dos_Emp en string directement.

    Pour le Nom_Client, je pense que tu veux dire que ton problème est à la ligne 25 ?
    Nom_Client est une variable, donc peu importe sa valeur (du moment qu'elle est un nom valide pour le Finder !).
    Comme Dos_Emp est déjà assigné, utilises cette variable, ton script sera plus facile à adapter dans le futur.
    Donc la ligne 22 devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set D_Client to make new folder in (Dos_Emp as alias) with properties {name:Nom_Client}
    A la ligne 22 le nouveau dossier ainsi crée, quelque soit son nom client, est assigné à la valeur D_Client. Donc, la ligne 25 devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set D_Pub to make new folder in D_Client with properties {name:"PUB"}
    Tu assignes ainsi D_Pub à la valeur de ton nouveau dossier, ce qui permet de ré-utiliser ce dossier en ligne 26
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set D_PDF to make new folder in D_Pub with properties {name:"--PDF"}
    Utilises ainsi de suite la même méthode pour les lignes 29 à 31 !

    Enfin, petit test à faire de ton côté (désolé je dois aller au marché tout de suite !), je pense que la ligne 29 peut être intégrée à la 28. Je te laisse tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set D_PDF to make new folder D_Pub with properties {name:"--PDF", label index : 6}
    Cordialement

  15. #15
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Re-Bonjour,
    Suite à ma réponse de ce matin, j'ai fait un petit test et, curieusement, l'ajout de la propriété label index directement comme propriété du "make" ne fonctionne pas (un bug sans doute !), donc il faut le garder sur une ligne séparée.

    Outre mes remarques de ce matin, j'ajoute quelques conseils pour toi et tous les programmeurs débutants :

    1) mettre les valeurs fixes des variables (cela s'appelle des constantes !) en tête de programme. Cela permettra, par la suite, une maintenance plus aisée. Par exemple, si un jour tu veux modifier le chemin du dossier APC, tu n'aura qu'à le faire q'une seule fois dans le script, c'est plus simple.
    C'est une pratique si bonne que Apple en a fait un concept de base depuis 1984 ! Toutes les valeurs fixes sont dans des ressources séparées des programmes. Il est ainsi facile de les modifier sans même avoir le code source des programmes (Resources fork dans les systèmes jusqu'à 9 et depuis, fichiers strings pour toutes les textes et plist pour le reste, depuis OS X)

    2) il faut bien distinguer un alias (qui est un objet = dossier ou fichier) et son nom. Par exemple, dans ton script, "HDD:TRAVAUX:....AFC" est la valeur texte de l'objet. ("HDD:...AFC" as alias) est bien un objet (c'est le but du "as alias" !).
    Applescript manipule selon les instruction, des textes ou des objets/ le "Set D_Client to make new folder..." affecte bien un objet dossier à la variable D_Client. Il est ensuite possible de faire référence à cet objet.

    3) N'hésite pas à mettre des commentaires ! Cela peut paraître fastidieux voir redondant, mais l'expérience prouve que ce n'est jamais trop ! Lorsque toi (ou pire, un autre !) reviendra sur ce script dans 1 an ou 2, les commentaires seront plus qu'utiles !


    Ceci étant précisé, voici ton programme modifié (j'ai compris que tu avais désormais plus de sous dossiers que ta demande initiale !).
    Ici, il n'y a plus un seul texte fixe au delà de la ligne 10 du code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    set Action to "Action PDF" -- le nom de l'action de dossier enregistrée dans Bibliothèque / Scripts / Folder Action Scripts
    set Dos_Emp to "HHD:TRAVAUX:ActionDossierTravauxEnCours:AFC"
     
    set N_Pub to "PUB" -- Nom du sous dossier du dossier client
    set N_PDF to "--PDF" -- Nom du sous dossier du sous dossier PUB du dossier client
    set C_PDF to 6 -- Index couleur du sous dossier PDF
    set N_Valid to "VALIDATION" -- Nom du sous dossier du sous dossier PUB du dossier client
    set C_Valid to 2 -- Index couleur du sous dossier Valid
    set N_Links to "LINKS" -- Nom du sous dossier du sous dossier PUB du dossier client
    set N_Indiv to "INDIVIDUELLES" -- Nom du sous dossier du sous dossier PUB du dossier client
     
    tell application "Finder"
    	-- boucle de saisie du nom de client jusqu'à ce que Mon_OK soit vrai (= la saisie n'est pas vide et la dossier n'existe pas déjà)
    	set Mon_OK to false
    	repeat until Mon_OK
    		set Nom_Client to "Nom_Client"
    		set Saisie to (display dialog "Saisissez le nom du client" default answer Nom_Client)
    		set Nom_Client to text returned of Saisie
    		if not (Nom_Client is "") then if not (exists (Dos_Emp & Nom_Client)) then set Mon_OK to true
    		if not Mon_OK then display dialog "Le nom saisi est vide ou ce nom existe déjà !" & return & "Veuillez resaisir un nom."
    	end repeat
     
    	-- création du dossier client et sous dossier PUB avec ses sous-sous-dossiers PDF, Validation, Link et Individuelles
     
    	set D_Client to make new folder in (Dos_Emp as alias) with properties {name:Nom_Client} -- création du dossier client
    	set D_Pub to make new folder in D_Client with properties {name:N_Pub} -- création du sous dossier PUB
    	set D_PDF to make new folder in D_Pub with properties {name:"--PDF"}
    	set label index of D_PDF to C_PDF
    	set D_Valid to make new folder in D_Pub with properties {name:N_Valid}
    	set label index of D_Valid to C_Valid
    	make new folder of D_Pub with properties {name:N_Links}
    	make new folder of D_Pub with properties {name:N_Indiv}
    end tell
     
     
    -- Assignation de l'action de dossier au dossier "--PDF"
    -- Récupération du chemin par défaut des Folder Action Scripts dans le domaine utilisateur
    tell application "System Events" to set Dossier_Scripts to (path to Folder Action scripts folder from user domain) as string
    set Mon_Script to (Dossier_Scripts & Action)
    -- vérification que le script prédéfini existe. Sinon, on quitte le script !
    tell application "Finder"
    	if not (exists file Mon_Script) then return
    end tell
    tell application "System Events" to attach action to D_PDF as alias using (Mon_Script as string)
     
    activate -- permet de remettre le script au premier plan pour voir le dialog.
    display dialog "Le dossier client " & Nom_Client & " est crée avec succès !" buttons {"OK"} default button 1 giving up after 3
    Cordialement

  16. #16
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonsoir,
    Effectivement, comme Applescript est très limité en terme de debug, il faut revenir aux bonnes vielles méthodes (que les moins de 20 ans ne peuvent pas connaître...)

    La ligne de code à ajouter est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tell application "Finder" to display dialog "je suis à la ligne xxx"
    A quelle ligne faut-il l'ajouter ? eh bien justement cela dépend.

    Lorsque ton script ne s'exécute pas comme prévu, sur une action de dossier, c'est parce qu'il trouve une erreur et s'arrête.
    Il faut donc mettre cette instruction avant et après les lignes de ton code qui sont susceptibles de rencontrer une erreur.
    Le plus rapide est de procéder par essais successifs en faisant preuve de logique.

    Imagine que tu as mis 2 fois cette ligne, une fois dans ton code en ligne 10 (au hasard) et une fois en ligne 30.
    Tu lances ton script qui affiche le premier dialogue et pas le second, cela signifie que le script plante entre les lignes 10 et 30.
    Tu refais tourner avec cette ligne de code ajoutée en position 20. Tu pourras en déduire si il plante entre les lignes 10 et 20 (s'il n'affiche pas le second dialogue) ou entre 20 et 30 (s'il affiche le premier et le second mais pas le troisième)

    Ainsi de suite.... Bien sûr cela va plus vite en évaluant d'abord les instructions risquées !
    Par exemple, il est fort peu probable (pour ne pas dire impossible !) qu'une instruction set X to "toto" génère une erreur.
    Par contre une instruction "set N_Fichier to duplicate Fichier to folder F_Client with replacing" peut créer une erreur sur le folder F_Client n'existe pas ! .. ou si le fichier Fichier n'existe pas !

    Après quelques essais tu auras l'instruction qui plante...et comme souvent tu te diras : "Non de non, je suis stupide de ne pas l'avoir vu immédiatement !"

    Bon debugging !

  17. #17
    Membre confirmé
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Par défaut Tes scripts fonctionnent bien
    Salut PBell,

    Tes scripts fonctionnent parfaitement, je pense que le souci vient de mon processus automator.
    J'ai voulu debbuguer les scripts applescript et aucune erreur a été trouvée. J'ai supprimé l'action de dossier automator lié au dossier Assistantes/Nom_Client (incluse dans le script ACTION PDF.scpt) et tout fonctionne parfaitement. Les fichiers partant de AFC/Nom_Client/PUB/--PDF vers le dossier Assistantes/Nom_Client se remplacent bien, bref tout est parfait.
    Donc faut que je revois mon processus automator qui me permet d'alléger le fichiers pdf entrant dans Assistantes/Nom_Client.
    J'ai essayé de nombreuses manip sans succès.
    En fait, lorsque le fichier X entre pour la 1° fois dans Assistantes/Nom_Client, le processus automator s'exécute bien (le fichier est allégé, il passe de 400 ko à 4 ko). J'attends alors quelques minutes (en fait 1 mn) et je refais la manip avec ce même fichier X et à ce moment là le fichier X est bien remplacé dans AFC/Nom_Client/PUB/--PDF, ce même fichier est bien transmis au dossier Assistantes/Nom_client (l'heure de création de fichier s'incrémente d'1 minute) mais le fichier ne s'allège pas. Il a donc bien remplacé le fichier X déjà présent et qui pesait 4 Ko mais comme il ne s'est pas allégé il pèse 400 ko (son poids initial). J'en déduis donc que le processus automator ne s'exécute pas.

    J'ai regardé un peu partout mais pas de piste pour régler ce problème. J'ai qestionné sur des forums mais pas de nouvelles pour l'instant.
    J'ai pensé à la possibilité d'inclure dans un processus automator un script applescript.
    Penses-tu qu'il soit possible en applescript de supprimer un fichier portant le même nom du dossier Assistantes/Nom_Client (celui qui doit contenir les pdf allégés) ? Si ce la est possible, cela pourrait résoudre mon problème.
    Aujourd'hui le nouveau fichier X entrant écrase l'ancien déjà présent mais est-ce possible qu'avant d'entrer, celui déjà présent s'efface (autrement dit pourrait-il voir cela dans une boule de cristal... !

  18. #18
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonsoir,
    Effectivement, une seule action de dossier est préférable : Dossier Save:Assistantes:AFC:Nom_CLient
    Cette action Automator doit :
    1) Convertir en réduisant la taille
    2) changer le nom avec BD devant

    Je pense que ton action Automator doit suffire pour la réduction de taille.
    Je n'ai pas Distiller (car je n'en ai pas l'utilité), mais puisqu'il s'agit de réduire en dégradant volontairement la qualité, il n'est pas nécessaire d'utiliser un logiciel plus précis qu'Automator.

    Cordialement

  19. #19
    Membre confirmé
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Par défaut Code pour voir où ça coince...
    Salut Pbell,

    Après un long moment de silence, je reviens vers toi.
    J'ai fait une pause sur mon projet et compte m'y remettre.
    Tout d'abord, je souhaite voir où j'ai des problèmes.

    Si dessous ton conseil :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pour voir où ça coince, n'hésite pas à mettre des traces (Tell application "Finder" to display dialog "je suis à la ligne xxx") qui te permettent de bien voir par où passe le code et surtout, où il ne passe pas.
    Comment dois-je insérer ce code exactement (ligne de code, endroit précis dans le script...)?
    Dois-je le faire sur les 2 scripts ?

    Merci d'avance

  20. #20
    Membre confirmé
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Par défaut Ça marche super...
    Salut PBell,

    Ton dernier message a résolu tous mes problèmes quant au 1° script.
    Je vais me pencher sur le 2° script et je repointerai mon nez si j'ai un soucis.
    En tout cas, bien ton astuce consistant à définir une 1° variable avec un chemin d'accès puis te servir de cette variable pour définir les autres chemins. C'est une méthode que j'utiliserais à l'avenir car étant débutant en applescript je ne sais pas trop comment procéder.
    A bientôt.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Batch] overwrite MOVE dossier et sous dossier avec fichiers
    Par sencha dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 14/03/2015, 19h20
  2. Réécriture d'URL avec sous dossier
    Par cedrick21 dans le forum Apache
    Réponses: 1
    Dernier message: 12/12/2014, 20h17
  3. Include avec sous dossiers
    Par anto2b dans le forum Langage
    Réponses: 4
    Dernier message: 24/04/2013, 20h43
  4. [Snow Leopard] Problème de droits avec un dossier, ses sous-dossier et ses fichiers
    Par rambc dans le forum Apple
    Réponses: 21
    Dernier message: 07/03/2010, 11h18
  5. lister un répertoire avec sous-dossiers
    Par helene_53 dans le forum Général Java
    Réponses: 7
    Dernier message: 27/03/2008, 12h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo