Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ Technologies Apple _ Action sur dossier er sous dossier: automator ou applescript ?

Écrit par : colonelfifi 28 Oct 2014, 06:27

Bonjour à toutes et à tous

J'aimerais savoir quel logiciel vaut il mieux utiliser pour éditer le travail suivant:

Il faudrait déplacer automatiquement les fichiers contenus dans un sous dossier au niveau supérieur.
Il y a environ 5000 dossiers à traiter ce qui nécessite une fonction automatique.

C'est à dire concrètement :
j'ai un dossier "photos" dans lequel j'ai des dossiers numérotés 1,2,3 ..etc... dans chacun de ces dossiers il y a un dossier "Fuji" qui contient des fichiers photos

J'aimerais éditer une action qui déplace tous les fichiers photos contenus dans les dossiers "Fuji" vers leur dossier supérieur numéroté respectif.

ou encore si je n'ai pas été assez clair ( et c'est bien possible)
Supprimer le dossier "Fuji" de chacun des dossier "père" tout en déplaçant les photos dans le dossier "père" correspondant.

D'autre part ce script vous parait il compliqué à réaliser pour un débutant ?

Merci de vos réponses éclairées

A+ fifi17

Écrit par : JacqR 28 Oct 2014, 14:44

Bonjour,

S'il n'y a pas la possibilité que des noms de photos existe déjà dans le dossier numéroté, vous pouvez utiliser ce script AppleScript.
Exemple : vous avez un fichier "chien 1.jpg" dans le dossier "1", et vous avez un fichier "chien 1.jpg" dans le dossier "Fuji" du dossier "1", le script écrasera le fichier "chien 1.jpg" dans le dossier "1" lors du déplacement du fichier "Photos/1/Fuji/chien 1.jpg".

Code
set dossierPhotos to quoted form of POSIX path of (choose folder with prompt "Sélectionnez le dossier 'Photos'")
do shell script "cd " & dossierPhotos & "; for f in *;do  if [ -d \"$f/Fuji\" ]; then /bin/mv -f \"$f/Fuji/\"* \"$f/\" && /bin/rm -r \"$f/Fuji\"; fi;done"


Si vous ne voulez pas écraser les fichiers existant dans les dossiers numéroté, dite-le moi, je modifierais le script pour qu'il vérifie l'existence du fichier avant de le déplacer et de le renommer en ajoutant un nombre au nom par exemple.

Écrit par : colonelfifi 28 Oct 2014, 15:38

Je vais essayer ce script...si j'arrive à le lancer ( débutant réel)
Pas de problème pour l'écrasement...il n'y aura aucun fichier correspondant

Merci dans tous les cas smile.gif


Écrit par : JacqR 28 Oct 2014, 16:39

Bonjour,


Pour tester le script (si vous n'avez pas trouver comment faire):

Ouvre l'application "Editeur AppleScript":
Copie et colle le script dans la fenêtre de l'application "Editeur AppleScript"
Presse le bouton "Exécuter".


Si cela fonctionne correctement, enregistre le script dans le format "Application", après il suffit de lancer l'application pour exécuter le script.

Écrit par : colonelfifi 28 Oct 2014, 17:43

hélas ... voilà ce qui se passe ???
ça vient peut être de moi


Écrit par : JacqR 28 Oct 2014, 19:05

Je n'ai aucune idée pourquoi vous avez un 'unexpected token' comme erreur.

Essaie ceci, la différence sera que le do shell script aura 8 lignes au lieu d'une ligne.

Code
set dossierPhotos to quoted form of POSIX path of (choose folder with prompt "Sélectionnez le dossier 'Photos'")
do shell script "cd " & dossierPhotos & "\nfor f in *\ndo\n  if [ -d \"$f/Fuji\" ]\n  then\n    /bin/mv -f \"$f/Fuji/\"* \"$f/\" && /bin/rm -r \"$f/Fuji\"\n  fi\ndone"

Écrit par : JacqR 28 Oct 2014, 19:52

Bonsoir,

Si cela ne fonctionne toujours pas, essaie ce script, celui ci utilise le Finder pour déplacer les fichiers

Code
set dossierPhotos to (choose folder with prompt "Sélectionnez le dossier 'Photos'")
tell application "Finder"
    set tc to count (a reference to folders of dossierPhotos)
    repeat with i from 1 to tc
        set f to folder i of dossierPhotos
        if exists (folder "Fuji" of f) then
            move every file of folder "Fuji" of f to f
            delete folder "Fuji" of f
        end if
    end repeat
end tell

Écrit par : colonelfifi 28 Oct 2014, 21:15

Génial !!!!

grand merci

ça a marché ( le premier des deux scripts suivants)
j'essayerai le 3eme aussi

Super génial, ça va m'éviter des jours de galères !

Merci smile.gif)

PS: ce serait long pour savoir faire des scripts comme cela ?

A+ fifi17

Écrit par : colonelfifi 29 Oct 2014, 13:00

Pour le troisième il me signale une erreur de syntaxe.
Je te dis ça pour info car le deuxième script est déjà devenu un best-seller sur mon forum pro !! ( on est à peu près une bonne dizaine concernés)
Encore Merci, je te transmettrai leur remerciements car j'ai beau leur expliquer que je n'y suis pour rien, ils me prennent pour un héros smile.gif)
En tous cas ils ont très heureux et c'est vrai que ça nous change la vie.
On est tout un groupe à avoir changé de logiciel de gestion et comme les éditeurs sont en guerre ils ne transfèrent que le minimum, dans notre cas que la fiche patient et l'état civil
Alors que grâce à toi, ceux qui étaient avec des capteurs Kodak , on a récupéré toutes nos anciennes radios à consulter directement au travers du nouveau logiciel qui lui est sur PC sad.gif(



Écrit par : JacqR 29 Oct 2014, 14:21

Bonjour,

Citation (colonelfifi @ 28 Oct 2014, 16:15) *
PS: ce serait long pour savoir faire des scripts comme cela ?

Cela dépend de plusieurs facteurs:
Si vous ne connaissez rien à la programmation, je dirais au moins une semaine pour écrire un script comme mon troisième script.
Si vous connaissez déjà un autre langage de programmation, cela peut prendre que quelques heures pour le faire en AppleScript


Citation (colonelfifi @ 29 Oct 2014, 08:00) *
Pour le troisième il me signale une erreur de syntaxe.

Le problème est qu'il y a des caractères indésirables (invisible) dans le script:
Solution 1 : supprimer tous les espaces avant le premier caractère de la ligne et tous les espaces après le dernier caractère de la ligne.

Solution 2 : utiliser un autre navigateur pour copier le script.


Citation (colonelfifi @ 29 Oct 2014, 08:00) *
Je te dis ça pour info car le deuxième script est déjà devenu un best-seller sur mon forum pro !! ( on est à peu près une bonne dizaine concernés)
Encore Merci, je te transmettrai leur remerciements car j'ai beau leur expliquer que je n'y suis pour rien, ils me prennent pour un héros smile.gif)
En tous cas ils ont très heureux et c'est vrai que ça nous change la vie.
On est tout un groupe à avoir changé de logiciel de gestion et comme les éditeurs sont en guerre ils ne transfèrent que le minimum, dans notre cas que la fiche patient et l'état civil
Alors que grâce à toi, ceux qui étaient avec des capteurs Kodak , on a récupéré toutes nos anciennes radios à consulter directement au travers du nouveau logiciel qui lui est sur PC sad.gif(
Cela me fait plaisir que cela aide plusieurs personnes.

Merci à toi pour ces commentaires.

Écrit par : colonelfifi 29 Oct 2014, 21:24

Effectivement.....

en copiant à partir de firefox

il n'y plus de problème smile.gif)


je vais explorer le site de christopher penaud
http://tutoriels.pecaudchristopher.com/Tutoriel_premierspas_AppleScript.php

pour démarrer ça doit être pas mal

merci encore !

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)