Ouvrir des fichiers avec Automator

Ok !

Je vais réfléchir à la question LOL !
 
Je me pose une question, tu sais quand on installe un DMG, on a un alias du dossier Application. Cet alias marche parfaitement et si tu regardes bien il est dans un " volume ". Alors pourquoi je n'arrive pas a avoir des alias stables ?

Par exemple, dans mon NAS j'ai plusieurs dossiers, et j'ai fait des alias pour pointer directement vers d'autre sous dossier etc.. alors il marchent une fois, puis les fois d'après il échoue.

Du coup j'ai crée une app sur automator avec un chemin absolu et ça marche plutôt bien.
 
On va tenter un truc...
L'idée est :

- On créer un nouveau dossier sur le bureau du nom de mesliens (on coche ignorer l'entrée de cette action)
- on obtiens le dossier qui est sur la NAS (on coche ignorer l'entrée de cette action)
- On copie ce dossier dans le dossier créé sur le bureau
- On exécute le script qui récupère les fichiers "webloc" dans le dossier sur le bureau et les ouvre.
- on obtiens le dossier du bureau mesliens
- on le déplace à la corbeille.

Capture d’écran 2021-05-24 à 15.07.44.png


Le script de l'applescript:
Bloc de code:
--on run {input, parameters}

tell application "Finder"
    set chemin to (path to desktop folder) & "mesliens:" as string
    set chemin to chemin as alias
 
    my inspecter(chemin)
end tell

on inspecter(source)
    tell application "Finder"
        -- traitement des fichiers :
        set les_fichiers to files of source
        repeat with chaque_fichier in les_fichiers
            -- traitement d'un fichier
            tell application "Finder"
                set lefichier to chaque_fichier
                set extens to chaque_fichier
                set lextension to name extension of extens
            
                if lextension = "Webloc" then
                    open lefichier
                end if
            
            end tell
        end repeat
        -- traitement des dossiers :
        set les_dossiers to folders of source
        repeat with chaque_dossier in les_dossiers
            -- traitement d'un dossier
            my inspecter(chaque_dossier)
        end repeat
    end tell
end inspecter

--return input
--end run
 

Fichiers joints

  • Capture d’écran 2021-05-24 à 15.07.44.png
    Capture d’écran 2021-05-24 à 15.07.44.png
    243,6 KB · Affichages: 129
Dernière édition:
Alors j'ai fait comme sur la capture, dans la corbeille j'ai bien un dossier " mesliens" mais sur mon bureau il a copié le dossier voulu ( avec le webloc mais autres fichier comme des photos )
 
Pas tout compris !
l' action 3 copie ton dossier du NAS sur le bureau du MAC.
Tu as bien coché pour ignorer l'entrée des 2 premières actions ?
 
Essai avec mon fichier à récupérer là: http://dl.free.fr/joUC1kGjc

Il te faut juste modifier les chemins dans les actions
  • action 2 le chemin du dossier sur le NAS
  • action 3 le chemin mesliens sur le bureau du mac (tu en crées un provisoire pour pouvoir naviguer et le selectionner)
  • action 5 idem action 3
 
L'action « Copier des éléments du
Finder » a rencontré une erreur :
« Impossible d'enregistrer le fichier
« test » dans le dossier « mesliens
»

Impossible d'enregistrer le fichier « test » dans
le dossier mesliens


Screenshot 24-05-2021- à 16h01 47s - Automator - ouvre fichiers webloc.workflow.png
 
Alors là ! si automator n'arrive pas à copier un fichier NAS sur le bureau du MAC , Je ne sais plus quoi faire !

Désolé... :banghead: :banghead: :banghead:

Reste plus qu'a trouver un moyen de copier un fichier NAS sur le bureau du MAC par programmation (Automator, ou applescript ou même avec le terminal)
Comme je ne peux pas tester, si tu as un moyen alors tu préviens et il sera possible,après cette copie faite, d' automatiser l'ouverture des fichiers que le dossier contient.
 
Il te suffit de trouver la solution pour copier un dossier du NAS sur le mac Par programmation.
Dés que tu as ça , tu fais signe... ;)
 
En relisant tes posts #45, #47 et #49, je ne sais plus quoi penser.

Le script automator est censé copier le dossier test de ton NAS dans le dossier mesliens qui se situe sur le bureau de ton MAC.

Hors tu dis #45 qu'il a copié le dossier et d'autre fichiers, mais tu ne dis pas où ...
Tu dis #47 qu'il a copié le dossier sur le bureau ...
Tu dis #49 qu'il n'a rien copié (erreur de copie) ...

Pour vérification, peux-tu exécuter le script automator avec exclusivement les 3 premières actions.
Voir si après ces 3 actions tu as un dossier "mesliens" sur le bureau qui contient le dossier test avec tout son contenu...
 
Effectivement, en gardant les 3 premières actions je viens de voir que sur mon bureau, a été crée un dossier "mesliens" et également sur le bureau un autre dossier "test" avec son contenu. (Photo comprise et autre fichiers.)

Du coup, sur mon bureau je me retrouve avec deux dossiers, "mesliens" et "test".
 
Curieux ! je pense que le chemin dans l'action 3 n'est pas bon...
Vérifie les différents chemins
dans l'action 2 il doit y avoir le chemin du dossier du nas (le renseigner en faisant un glisser déposer)
dans l'action 3 il doit y avoir le chemin du dossier "mesliens" sur le mac , pour le renseigner tu crées un dossier mesliens sur le bureau puis dans l'action tu navigues jusqu'a ce dossier pour le choisir. tu effaceras ce dossier avant de relancer le script.
n'oublie pas de cocher l'option ignorer l"entrée de cette action dans les action 1 et 2.
 
Dernière édition:
Alors effectivement le dossier du NAS est bien dans mon dossier " mes liens " et se supprime. Mais rien ne s'ouvre.
Et j'ai supprimé la dernière étape (celle ou on supprime le dossier) pour avoir le temps de voir ce qu'il copie, et il y a mes webloc mais aussi les images et autre fichiers.
 
Ok!
C'est normal il copie la totalité de ton dossier test.
C'est le applescript qui ensuite analyse les fichiers et demande l'ouverture des webloc.

Dans l'action applescript remplace le script par celui-ci. (il pouvait y avoir un conflit de variable.)
Bloc de code:
--on run {input, parameters}

tell application "Finder"
    set chemin to (path to desktop folder) & "mesliens:" as string
    set chemin to chemin as alias
  
    my inspecter(chemin)
end tell

on inspecter(lechemin)
    tell application "Finder"
        -- traitement des fichiers :
        set les_fichiers to files of lechemin
        repeat with chaque_fichier in les_fichiers
            -- traitement d'un fichier
            tell application "Finder"
                set lefichier to chaque_fichier
                set extens to chaque_fichier
                set lextension to name extension of extens
              
                if lextension = "Webloc" then
                    open lefichier
                end if
              
            end tell
        end repeat
        -- traitement des dossiers :
        set les_dossiers to folders of lechemin
        repeat with chaque_dossier in les_dossiers
            -- traitement d'un dossier
            my inspecter(chaque_dossier)
        end repeat
    end tell
end inspecter

--return input
--end run

Et fait un essai .
 
YES ! Ça à marché !
Il faudrais juste qu'il ne me copie que les webloc car j'ai beaucoup de fichiers DMG ( dans mon vrai dossier ) et, s'il les copies tous ça va être long.

Ensuite j'ai juste à rajouter " placer les éléments du fienter a la corbeille " et c'est parfait ! :-D
 
Le problème de ne copier que les fichiers voulus, est retour à la case départ, car c'était dans le cas ou on voulait sélectionner les fichiers avec leurs adresses sur le NAS que tu as dit que ça ne fonctionnait pas.
D'ou le contournement que je te proposais de copier d'abord le dossier sur le mac pour pouvoir les adresser...

Il faudra éventuellement réessayer en ouvrant directement depuis le NAS.
Mais là stop pour ce soir demain lever de bonne heure.
Je te préparerais un nouveau script pour essayer. En attendant copie et efface le dossier complet..