Transfert de photos selon une liste avec applescript

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
Cette transposition se fait avec open office ?
et tu obtiens la liste dans la colonne A (la première), et le reste de la feuille est bien vide ?
 

T-45

Membre junior
31 Mai 2018
25
1
24
Le dossier de destination est entièrement vide car créé pour le transfert et le reste de la feuille de calcul également vide. J'ai essayé avec open office et googlesheet sans succès. J'avoue ne pas comprendre non plus pourquoi ça ne marche pas ! Le premier script que tu m'as passé m'avais permis de transférer une seule photo, pas plus. Et depuis les derniers scripts plus rien.
 

byte_order

Membre confirmé
31 Juillet 2012
304
64
Et sinon, avec une commante shell via le Terminal :

Bloc de code:
cat fichier_liste.txt | xargs -p -I % cp dossier_source/%.cr2 dossier_destination
?

Retirer le -p pour ne plus devoir confirmer chaque commande de copie pour chaque fichier
 

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
Par acquis de conscience je viens de télécharger le dernier script mis dans ce post, et je viens d'essayer chez moi aucun problème, les fichiers de la liste sont bien copier. Donc je ne vois qu'un problème de ton fichier liste.

Soit il n'est pas au bon format.
soit les fichiers qui sont des cette liste ne sont pas dans le dossier source.
 

T-45

Membre junior
31 Mai 2018
25
1
24
Oui c'est ce que je pense aussi, je viens de tester sur un macbook au cas ou. Même message d'erreur mais il ne me copie que la première photo. Ça ne serait pas a cause des fichiers .CR2 trop volumineux ? (ils font entre 35 et 45 mo chacun)
Comment procèdes-tu pour créer ta liste ?
 

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
S'il ne copie que le premier fichier c'est que ta liste n'est pas au bon format.
Le fichier doit être: Nom_fichier suivi d'un retour chariot (code ascii 13) puis le 2ieme Nom_fichier suivi d'un retour chariot etc...

Le script lit le fichier texte, puis prend chaque terme qui est séparé par le (code ascii 13).

Perso je fait mon fichier texte à partir d'excel. je l'enregistre au format Texte (séparateur: tabulation)

Il me faudrait un de tes fichier (soit liste originale) soit après transposition pour voir comment il est. et éventuellement trouver le moyen de le modifier.
 

T-45

Membre junior
31 Mai 2018
25
1
24
Le soucis c'est que avec open office impossible d'enregistrer en .txt il me le sort en .csv même en cochant tabulation séparateur de texte.
Ensuite avec googlesheet je peux exporter en valeur séparées par des tabulations mais celui-ci me sort un fichier .tsv

Comment puis-je t'envoyer ma liste ?
 

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 478
4 245
58
St Germain en Laye - FRANCE
Le script prévoit le caractère ascii 13 comme séparateur (retour chariot)
set AppleScript's text item delimiters to (ASCII character 13)

Si les noms de fichiers sont séparés par des tabulations (voire par des virgules) il faut adapter le script en changeant de caractère ascii
 

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
Alors on va faire un essai avec la liste que tu récupères: ton exemple:
IMG_1906,IMG_1901,IMG_1898,IMG_1891,IMG_1883,IMG_1871,IMG_1875,IMG_1869
enregistrée normalement en .txt

Dans le script tu remplaces (ASCII character 13) par (ASCII character 44)

Le script prendra tout le noms séparés par des virgules.
 

T-45

Membre junior
31 Mai 2018
25
1
24
Décidément ça ne veut vraiment pas !
Peut importe ce que je fais, j’ai absolument toujours le même message d’erreur ! Je me demande si je n’ai pas un problème de format de fichier. Il me faudrait peut-être excel

Quoi qu’il en soit j’ai un système D grace a mon logiciel de photo qui demande un peu de boulot mais ça reste faisable en attendant.
 

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
tu as créé un fichier texte avec texEdit avec les noms de fichiers à la suite séparés par une virgule, c'esrt bien un fichier .txt pas autre chose , en l'ouvrant tu vois bien la liste de tes fichiers ?
 

r e m y

Cas clinique
Club MacG
4 Novembre 2000
41 478
4 245
58
St Germain en Laye - FRANCE
Pour vérifier ce que le script récupère comme nom de fichiers, zeltron pourrait ajouter une ligne affichant un message avec le nom de fichier (juste avant la ligne qui duplique le fichier dans le dossier de destination).
On verrait si il y a un pb a ce niveau là.
 

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
La suggestion de remy . Ceci affiche une petite boite de dialogue qui te donne le chemin du prochain fichier qui va être traité. Vérifie bien si c'est le bon chemin !

tu ajoutes la ligne : display dialog cheminimage
là:
repeat with une_ligne in toutes_les_lignes
set CheminImage to dossiersource & une_ligne & ".cr2"
tell application "Finder"
display dialog cheminimage
duplicate CheminImage to dossiercible
end tell
end repeat
 

daffyb

-Duck Warrior-
Modérateur
Club MacG
18 Octobre 2001
13 509
1 546
Angoulême
Je confirme, j'avais fait le test avec un fichier text de textEdit
En caractère ascii 13 pas de détection, par contre, si je mets une virgule avec ascii 44 alors là ça fonctionne.
 

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
Oui daffyb pour le code ascii 13 il faut partir d'un fichier texte issu d'un enregistrement avec excel en séparateur :tabulation
Mais là je ne comprend pas ce qui se passe chez T-45 d'après ces dires tout à l'air bon.
Il faudrait pouvoir analyser les fichiers et dossiers ! !
 

T-45

Membre junior
31 Mai 2018
25
1
24
Après ajout de display dialog cheminimage Le chemin affiché est bien le bon : PRO:Vidange Carte:NOM prénom du client:IMG_1906.cr2
Mais seul 1 fichier est affiché, le premier
 

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
Alors on va voir si c'est la copie qui se passe mal:

on va supprimer la ligne qui copie le fichier, on verra si la liste continue d'être scrutée.
met juste 2 -- devant duplicate ce qui donne :

-- duplicate CheminImage to dossiercible

et refais l'essai
 
Dernière édition:

T-45

Membre junior
31 Mai 2018
25
1
24
Alors cette fois-ci j'ai eu la liste de toutes les photos une a une, avec le bon chemin. Je n'ai pas eu d'erreur, j'ai eu le message final. Mais rien n'a été copié dans le dossier cible
 

zeltron54

Membre d’élite
29 Mars 2008
1 752
262
Lorraine
OK c'est normal on avait enlevé la ligne de copie
Donc on va vérifier si le chemin de copie est bon en modifiant le dialogue :
tu remplaces l'ancienne ligne de dialogue par celle-ci:

display dialog "copie de " & CheminImage & " vers " & dossiercible

La boite de dialogue te dira :" copie de chemin du fichier vers chemin du dossier cible qui doit se terminer par 2 points ":"

vérifie bien le chemin (rien ne sera donc copié)