Transfert de photos selon une liste avec applescript

  • Créateur du sujet Créateur du sujet T-45
  • Date de début Date de début
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 ?
 
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.
 
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
 
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.
 
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 ?
 
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.
 
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 ?
 
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
 
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.
 
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.
 
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 ?
 
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à.
 
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
 
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.
 
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 ! !
 
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
 
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:
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
 
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é)