applescript copier/coller noms de fichiers d'un dossier

pv_bain

Membre junior
22 Novembre 2004
93
1
35
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
 
A

Anonyme

Invité
Bonjour,

Ce script devra faire ce que tu demandes :
Bloc de code:
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

Membre junior
22 Novembre 2004
93
1
35
wow superbe, ca fait exactement ce que je voulais, merci beaucoup...

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

Bonjour,

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

[/CODE]

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
 
A

Anonyme

Invité
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.