# Classer fichiers dans des dossiers en fonction de leur nom



## magicPDF (30 Mai 2011)

Bonjour,

Dans un processus Automator j'utilise un AppleScript qui me classe des fichiers (en vrac) dans des sous-dossiers, en créant chaque sous-dossier d'après le nom du fichier (sans l'extension) et en plaçant ledit fichier dans le sous-dossier ainsi créé.

_(Le fichier RIRI.pdf est placé dans le sous-dossier RIRI, le fichier FIFI.pdf est placé dans le sous-dossier FIFI, le fichier TITI.pdf est placé dans le sous-dossier TITI, etc.)_

Voici le script utilisé :

```
tell application "Finder"
	set selected to selection
	set current_folder to item 1 of selected
	set mlist to every file of current_folder
	repeat with this_file in mlist
		set cur_ext to name extension of this_file
		set new_name to text 1 thru -((length of cur_ext) + 2) of (name of this_file as text)
		set new_folder to make new folder with properties {name:new_name} at current_folder
		move this_file to new_folder
	end repeat
end tell
```


Maintenant ce que je voudrais c'est faire presque la même chose mais en ne se basant que sur les 4 premières lettres du nom, c'est-à-dire que les fichiers RIRI.pdf, RIRI 1.pdf, RIRI 2.pdf, etc. soient tous placés dans le sous-dossier RIRI, même chose pour FIFI, TITI et les autres.

Après de nombreuses heures de Googolisation je ne trouve pas de solution à mon (faible) niveau.
Merci de m'aider ou de m'inspirer.


----------



## Anonyme (30 Mai 2011)

Bonjour,

Comme ceci

```
tell application "Finder"
	set current_folder to item 1 of (get selection)
	repeat with this_file in (get files of current_folder)
		set new_name to text 1 thru 4 of (get name of this_file)
		if not (exists folder new_name in current_folder) then
			make new folder with properties {name:new_name} at current_folder
		end if
		move this_file to folder new_name of current_folder without replacing
	end repeat
end tell
```


----------



## magicPDF (30 Mai 2011)

Alors là&#8230; Chapeau !
Merci, si jamais tu as besoin d'un PDF pour toi ce sera gratuit.


---------- Nouveau message ajouté à 19h53 ---------- Le message précédent a été envoyé à 19h03 ----------

Après test approfondi il apparait (forcément, mais je n'ai pas l'esprit programmatique) que le fichier d'origine, celui qui a exactement le même nom que le sous-dossier, se retrouve lui aussi placé dans le sous-dossier portant son nom, y aurait-il moyen de le replacer dans le dossier parent ou bien à la corbeille ?


----------



## Anonyme (31 Mai 2011)

Bonsoir,


Pour  que le fichier d'origine ne se déplace pas, c'est comme ceci.

```
tell application "Finder"
	set current_folder to item 1 of (get selection)
	repeat with this_file in (get files of current_folder)
		tell this_file to set {t_Ext, tName} to {name extension, name}
		set tLength to (count tName) - ((count t_Ext) + 1)
		if tLength > 4 then
			set new_name to text 1 thru 4 of tName
			if not (exists folder new_name in current_folder) then
				make new folder with properties {name:new_name} at current_folder
			end if
			move this_file to folder new_name of current_folder without replacing
		end if
	end repeat
end tell
```

Pour placer le fichier d'origine à la corbeille, c'est comme ceci.

```
tell application "Finder"
	set current_folder to item 1 of (get selection)
	repeat with this_file in (get files of current_folder)
		tell this_file to set {t_Ext, tName} to {name extension, name}
		set tLength to (count tName) - ((count t_Ext) + 1)
		if tLength > 4 then
			set new_name to text 1 thru 4 of tName
			if not (exists folder new_name in current_folder) then
				make new folder with properties {name:new_name} at current_folder
			end if
			move this_file to folder new_name of current_folder without replacing
		else if tLength = 4 then
			delete this_file -- place à la corbeille le fichier dont le nom est le même que le sous dossier
		end if
	end repeat
end tell
```


---------- Nouveau message ajouté à 20h20 ---------- Le message précédent a été envoyé à 20h18 ----------




magicPDF a dit:


> Alors là Chapeau !
> Merci, si jamais tu as besoin d'un PDF pour toi ce sera gratuit.


Merci beaucoup pour cette proposition


----------



## magicPDF (31 Mai 2011)

Génial, je m'en étais tiré en bidouillant l'arborescence des dossiers, mais comme ça c'est effectivement beaucoup plus "propre".

Merci !


----------

