# applescript copier/coller noms de fichiers d'un dossier



## pv_bain (5 Juin 2010)

bonjour a tous, 

voila, j'ai 2 dossiers,

un avec 150 fichiers .mov qui ont une nomenclature specifique type GF_052_001_TH, GF_052_002, etc...

un autre avec 150 fichiers jpeg qui correspondent a la premiere image des .mov cités ci dessus qui ont une nomenclature legerement differente, mais l'ordre est respecté par rapport aux .mov

j'ai donc 2 dossiers qui lorsqu'ils sont classés par noms correspondent mais n'ont pas les memes noms, mais j'aurais besoin que les elements des 2 dossiers aient le meme nom pour les regrouper dans le meme dossier.

je suis sur qu'il y a une possibilité de le faire via applescript en "arriere plan" mais je n'arrive pas a trouver le bon code.

pour le moment j'en ai créé un a base de raccourcis claviers mais il est assez buggé et assez long a executer (surtout qu'il monopolise le mac).

evidemment si je n'avais que 2 dossiers a faire, je le ferai a la main mais j'en ai régulierement...

merci beaucoup d'avance de vos réponses.

bon week end

pv


----------



## Anonyme (5 Juin 2010)

Bonjour,

Ce script devra faire ce que tu demandes :

```
set dossier1 to choose folder with prompt "Sélectionnez le dossier des fichiers \".mov\""
set dossier2 to choose folder with prompt "Sélectionnez le dossier des fichiers \".jpg\""

tell application "Finder"
	set jpegFiles to document files of dossier2 whose name extension is "jpg"
	set movFiles to document files of dossier1 whose name extension is "mov"
	set t_count to count jpegFiles
	repeat with i from 1 to t_count
		set filmName to text 1 thru -4 of (get name of item i of movFiles)
		set name of (item i of jpegFiles) to (filmName & "jpg")
	end repeat
	--move document files of dossier2 whose name extension is "jpg" to dossier1
end tell
```


----------



## pv_bain (7 Juin 2010)

wow superbe, ca fait exactement ce que je voulais, merci beaucoup...

---------- Nouveau message ajouté à 11h24 ---------- Le message précédent a été envoyé à 10h40 ----------




Mac_Jac a dit:


> Bonjour,
> 
> repeat with i from 1 to t_count
> set filmName to text 1 thru -4 of (get name of item i of movFiles)
> ...



est ce que tu pourrais peut etre juste m'expliquer ces quelques lignes, si tu as 2 minutes, les autres je les ais a peu pres compris.

merci beaucoup.

pv


----------



## Anonyme (7 Juin 2010)

pv_bain a dit:


> wow superbe, ca fait exactement ce que je voulais, est ce que tu pourrais peut etre juste m'expliquer ces quelques lignes, si tu as 2 minutes, les autres je les ais a peu pres compris.


set filmName to text 1 thru -4 of (get name of item i of movFiles)

*text 1 thru -4* : prends le premier caractères jusqu'au quatrième avant dernier caractères du nom complet du fichier mov, donc cela supprime les trois derniers caractères -->  *mov*
*item i of movFiles* : est un élément parmi la liste des fichiers mov, la variable *i* s'incrémente de un à chaque fois.
résultat : la variable *filmName* contient le nom du fichier mov sans l'extension.


set name of (item i of jpegFiles) to (filmName & "jpg")

*set name* : fonction renommer du Finder
*of (item i of jpegFiles)* :  est un élément parmi la liste des fichiers JPEG
*to (filmName & "jpg")* : le nom du film avec l'extension jpg 


Quand on veut obtenir une liste de fichier avec le Finder dans un applescript, la liste de fichier sera toujours trié par nom.


----------

