Transfert de photos selon une liste avec applescript

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
@remy
duplicate CheminImage to folder dossiercible
C'est exactement la commande du script ;)

Je suis persuadé que c'est la non reconnaissance du nom du fichier entre la liste et le fichier dans le dossier source !
 

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 478
4 245
58
St Germain en Laye - FRANCE
@remy


C'est exactement la commande du script ;)

Je suis persuadé que c'est la non reconnaissance du nom du fichier entre la liste et le fichier dans le dossier source !
duplicate alias CheminImage to folder dossiercible

Dans le script il manque le mot alias et le mot folder
Si j'en crois Google, alias est nécessaire pour spécifier qu'il s'agit d'un fichier (et pas d'une chaîne de caractères) et folder est nécessaire pour spécifier ce qu'est la destination.
 

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 478
4 245
58
St Germain en Laye - FRANCE
Sinon, utiliser le do shell script de mon message #58, mais dans ce cas il faut modifier CheminImage et dossiercible pour remplacer les : par des / dans les chemins d'accès
 

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
Non, non, cela signifie qui faut que le cheminimage doit être au format alias (pas string ou autre) et folder signifie que ce soit un chemin vers un dossier...
Mais que tu les ajoutes ou pas ne devrait rien changer.
 

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
@remy
J'ai fais plein d'essai chez moi avec CP, avec le script shell de bytes-order, en remplaçant duplicate par move (pour déplacer) et même avec open pour ouvrir le fichier.
Tout fonctionne si le chemin et le nom du fichier est bon, par contre le moindre espace ou autre caractères qui s'insère donne bien ce message d'erreur.
 

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
@T-45
je viens de modifier le script pour faire un test.
Ce script ce sert de ton fichier liste avec des virgules.
A la place de dupliquer le fichiers il met une boite de dialogue t'indiquant si il a trouvé ou pas le fichier de la liste dans le dossier source.
Peux-tu faire un essai et voir les fichiers qu'il trouve et ceux qu'il ne trouve pas.
Lorsqu'il ne trouve pas, regarde bien le chemin! éventuellement fait une copie d'écran de la boite de dialogue.

Bloc de code:
tell application "Finder"
   
    set cheminsource to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à copier"
    set chemincible to choose folder with prompt "Sélectionnez le dossier cible"
    set laliste to choose file with prompt "Sélectionnez le fichier liste"
    my inspecter(cheminsource, chemincible, laliste)
end tell

on inspecter(source, cible, liste1)
    set dossiersource to source as string
    set dossiercible to cible as string
    open for access liste1
    read liste1
    set tout_le_fichier to the result
    close access liste1
    set AppleScript's text item delimiters to (ASCII character 44)
    set toutes_les_lignes to (every text item of tout_le_fichier) as list
    set AppleScript's text item delimiters to ""
    set tout_le_fichier to ""
   
    repeat with une_ligne in toutes_les_lignes
        set CheminImage to dossiersource & une_ligne & ".cr2"
        tell application "Finder"
           
            if exists CheminImage then
                display dialog "j'ai trouvé le fichier " & CheminImage
            else
                display dialog "PAS trouvé le fichier " & CheminImage
            end if
           
        end tell
    end repeat
end inspecter

tell application "Finder"
    (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
end tell
 

T-45

Membre junior
31 Mai 2018
25
1
24
Bonjour à tous ! :coucou:
Désolé pour le retard !
Ca y est ça fonctionne !! J'ai transféré tous les dossiers à la base de Macintosh HD. J'imagine que le problème était la différence de source ?
 
  • J’aime
Réactions: r e m y

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
Ok content pour toi
Si problème ou adaptation n(hésite pas à demander

Bonne journée
 

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
@byte_order

Je tiens à te dire que j'ai enfin réussi à intégrer ta commande dans un applescript.
Avec ta version qui fonctionne sur un fichier liste avec 1 nom de fichier par ligne.
Une version à laquelle j'ai ajouté (tr ',' '\n') pour remplacer les virgules par un retour chariot avant xargs et tout fonctionne.

Merci de ta participation
 

FlorentCh

Nouveau membre
26 Mars 2018
6
1
30
Salut,
J'ai essayé d'utiliser le script mais j'ai la même erreur que T-45, impossible. J'ai essayé toutes les solutions indiquées mais rien y fait. Voici ce que me dit la boite de dialogue (bizarre comme nom de fichier) :
PAS trouvé le fichier SSD 500:Users:florent.chardonnal:Movies:CLIP_SD2:{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf400
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0

\f0\fs24 \cf0 C0211\
C0213\
C0214\
C0215\
C0216\
C0219\
C0221\
C0222\
C0224\
C0226\
C0227\
C0228\
C0229\
C0230\
C0242\
C0243\
C0246\
C0250\
C0251\
C0254\
C0261\
C0262\
C0263\
C0264\
C0266\
C0269\
C0272\
C0281\
C0282\
C0283\
C0284\
C0285\
C0286\
C0289\
C0290\
C0291\
 

FlorentCh

Nouveau membre
26 Mars 2018
6
1
30
Salut,
J'ai essayé d'utiliser le script mais j'ai la même erreur que T-45, impossible. J'ai essayé toutes les solutions indiquées mais rien y fait. Voici ce que me dit la boite de dialogue (bizarre comme nom de fichier) :
PAS trouvé le fichier SSD 500:Users:florent.chardonnal:Movies:CLIP_SD2:{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf400
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0

\f0\fs24 \cf0 C0211\
C0213\
C0214\
C0215\
C0216\
C0219\
C0221\
C0222\
C0224\
C0226\
C0227\
C0228\
C0229\
C0230\
C0242\
C0243\
C0246\
C0250\
C0251\
C0254\
C0261\
C0262\
C0263\
C0264\
C0266\
C0269\
C0272\
C0281\
C0282\
C0283\
C0284\
C0285\
C0286\
C0289\
C0290\
C0291\

Ok, problème résolu. J'avais un soucis dans l'architecture de la liste
 

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
Bonjour Florentch,

Tu as bien vu pour copier --> coller on utilise duplicate.
Pour déplacer on utilise move à la place de duplicate

dis-moi si cela fonctionne, sinon on regardera de plus prés !