# automator pour renommer des fichiers



## raph_egg (3 Janvier 2012)

Bonjour,

nous avons réalisé une série de photos d'objets. Ces objets possèdent un numéro d'inventaire déjà attribué. Ex.

photo d'un marteau --> num d'inventaire 03412
photo d'un lime --> num d'inventaire 07485
...

Les numéros apposés sur les objets ne se suivent pas.

Lors des photographies d'objets, nous avons créé un fichier texte où nous avons indiqué les liens entre le numéro de la photo (donné automatiquement par l'appareil photo) et le numéro de l'objet (nombre à 5 positions).

le fichier texte se présente comme suit :

*DSC000001,03412
DSC000002,07485*


Pour gérer nos objets, nous souhaiterions que le nom du fichier photo soit modifié avec le numéro d'objet correspondant, sur la base du fichier texte que nous avons écrit. Ex.

DSC00001.jpg --> devient 03412.jpg
DSC00002.jpg --> devient 07485.jpg
...

Automator sur Mac OS X est-il capable de gérer cette tâche ?

processus itératif, tant que fichier trouvé dans le dossier :



dans le dossier photo lire le prochain numéro de fichier
chercher la ligne correspondante dans le fichier texte
prendre la valeur après la virgule
renommer le fichier image
Merci d'avance pour vos conseils


----------



## CathyGYM (3 Janvier 2012)

Je n'utilise pas Automator mais c'est certainement possible avec AppleScript  Il faut juste y passer un peu de temps..


----------



## ceslinstinct (3 Janvier 2012)

raph_egg a dit:


> Bonjour,
> 
> nous avons réalisé une série de photos d'objets. Ces objets possèdent un numéro d'inventaire déjà attribué. Ex.
> 
> ...


Bonjour

Je préfère AppleScript, plus rapide qu'automator.

Combien de milliers de photos à gérer?
Combien de dossiers et sous-dossier à gérer (une estimation suffit) si des classements?
Et surtout *quel fauve* va être utilisé?

@+


----------



## raph_egg (3 Janvier 2012)

Bonjour, ne connaissant absolument pas AppleScript, j'ai créé le pseudo code de mon application :


```
variable CHEMIN_DOSSIER type STRING
variable TABLEAU_LISTE_FICHIER type TABLEAU
variable CHEMIN_FICHIER_CORRESPONDANCE type STRING
variable NOM_FICHIER type STRING
variable LIGNE_CORRESPONDANCE type STRING
variable NOUVEAU_NOM_FICHIER type STRING
variable NB_FICHIER_TRAITES type NOMBRE

definir NB_FICHIER_TRAITES à 0

obtenir le dossier concerné par l'utilisateur, mettre valeur dans CHEMIN_DOSSIER

lister les fichiers contenus dans le dossier, mettre valeur dans TABLEAU_LISTE_FICHIER

obtenir le fichier de correspondance, mettre valeur dans CHEMIN_FICHIER_CORRESPONDANCE

ouvrir le fichier de correspondance

pour chaque fichier contenu dans DOSSIER
    lire le nom du fichier, mettre valeur dans NOM_FICHIER
    rechercher ligne avec nom du fichier, mettre valeur dans LIGNE_CORRESPONDANCE
    lire valeur après la virgule dans LIGNE_CORRESPONDANCE, mettre valeur dans NOUVEAU_NOM_FICHIER
    renommer le fichier NOM_FICHIER avec la valeur NOUVEAU_NOM_FICHIER
    afficher message "fichier : " + NOM_FICHIER+"remplacé par : " NOUVEAU_NOM_FICHIER
    NB_FICHIER_TRAITES ++
    
    
afficher message "traitement terminé, "+NB_FICHIER_TRAITES+" fichiers traités"
```
Est-ce que quelqu'un peut m'aider dans l'écriture du code AppleScript ? 

---------- Nouveau message ajouté à 13h37 ---------- Le message précédent a été envoyé à 13h05 ----------




ceslinstinct a dit:


> Bonjour
> 
> Je préfère AppleScript, plus rapide qu'automator.
> 
> ...




Bonjour,

il s'agit de quelques centaines de photos, tout au plus un millier. 
il ne s'agira que d'un dossier sans sous-dossiers
je suis sous snow leopard.


----------



## tatouille (3 Janvier 2012)

```
function rename()
{
	for k in $(ls "$root_search"); do mv "$root_search/$k" "$root_search/$k.new"; done;
}

## TODO:
## testing if reg_file to make it reetrant
## creating the new name rule using sed
## creating ls filter for instance ls "$root_search" | grep -E -i '\.(zip$|tgz|bz2)$'
```

cat le fichier et pour chaque entrée tu cut sur la virgule, 5 minutes avec le gout de l'effort, one line avec awk
tu devrais l'avoir.


----------



## daffyb (3 Janvier 2012)

ouvrir le fichier texte.
Faire un rechercher remplacer de :
rechercher : ","
remplacer : ".jpg "

rechercher : "DSC"
remplacer : "mv DSC"

rechercher : retour à la ligne
remplacer : .jpg retour à la ligne

Copier coller tout ça au bon endroit dans le terminal et zou

Les modifs proposées peuvent être réalisées dans un tableur avec un export dans un fichier texte par exemple.

*A tester avant dans un dossier test  *


----------



## ceslinstinct (9 Janvier 2012)

Bonsoir

Vue qu'l a posé sa question sur différents sites de plusieurs façons je pense avoir compris sa question.

AUTOMATOR (est un prétexte)

Ce qu'il désire, c'est qu'avec son iPhone et Siri le code soit créé automatiquement sur son ordinateur.

Plus qu'a l'utiliser.

C'est la d'où vient l'érreur, ne pas comprendre ça demande, pour une mauvaise explication de sa recherche

@+


----------



## phil2012 (29 Janvier 2012)

Bonjour,

Après avoir renommer des films .avi, ils ont tous disparus.
Ils n'apparaissent pas dans mon finder par contre quand j'essaye d'importer sur Filmotech, je vois avi-1, avi-2, avi-3 etc...
Comment faire pour retrouver tous mes films?


----------

