# Script automator créer dossier avec nom de fichier



## michael1971 (10 Octobre 2011)

Bonjour a tous,
Voilà mon projet :
J'ai un paquet de fichiers .mov dans un dossier "films dune"
J'aimerais :

1) Copier le nom du fichier
2) créer un dossier
3) Nommer le dossier avec ne nom du fichier mov
4) mettre le fichier mov dans ce dossier
5) passer au suivant

Voilà voilà... étant une daube avec automator et en programmation je ne vois pas du tout comment procéder...
Merci de votre éventuelle aide...


----------



## ceslinstinct (11 Octobre 2011)

michael1971 a dit:


> Bonjour a tous,
> Voilà mon projet :
> J'ai un paquet de fichiers .mov dans un dossier "films dune"
> J'aimerais :
> ...



Bonjour

Serait-il possible de savoir le nom du fauve que tu utilise?

Je n'utilise pas Lion, alors j'ai des doutes sur le fonctionnement avec ce fauve.

Un AppleScript fait ça (12 lignes de code), ne gère que les .mov (sur ce code).

Sélection d'un dossier, mémorise tous les fichiers à la racine de ce dernier avec .mov comme extension.

Création des dossiers avec les noms des fichiers (sans l'extension) et déplacement des fichiers dans les dossiers correspondant à leurs noms.

Maintenant, il faut savoir aussi combien de milliers de fichiers tu as à traiter, pour laisser le temps à AS de faire son travail?

@+


----------



## michael1971 (11 Octobre 2011)

ceslinstinct a dit:


> Bonjour
> 
> Serait-il possible de savoir le nom du fauve que tu utilise?
> 
> ...


 
bonjour,
j'ai environs 150 fichiers et suis sous lion... et j'ai le temps ;-) c'est juste histoire de pouvoir faire un petit match de foot avec le petit merci d'avance ;-)


----------



## ceslinstinct (11 Octobre 2011)

michael1971 a dit:


> bonjour,
> j'ai environs 150 fichiers et suis sous lion... et j'ai le temps ;-) c'est juste histoire de pouvoir faire un petit match de foot avec le petit merci d'avance ;-)


Bonjour

Code modifié, pour savoir ce qu'il trouve.

Tu fait un Copier-Coller de ce code dans l'éditeur de scripts (avec Lion je sais pas où il se trouve).

Bouton Compiler, si il prend des couleurs c'est bon.

Bouton Exécuter pour tester, (quand le rangement est fait (si ça marche) tu quitte le code sans l'enregistrer puisque maintenant inutile).

Où alors tu l'enregistre en Application au cas-où tu veuille le garder pour d'autres utilisations.

Donne moi une réponse pour savoir si des problèmes tu rencontre, pour faire les modifications.

Testé avec Léopard 10.5.8 sans problème.



```
[color=#0000FF]set[/color] [color=#3F7F00]chemin[/color] [color=#0000FF]to[/color] [color=#800000]([/color][color=#0080FF]choose folder[/color] [color=#0080FF]with prompt[/color] [color=#800000]"[/color]Quel dossier à lire?[color=#800000]"[/color] [color=#0000FF]without[/color] [color=#0080FF]invisibles[/color][color=#800000])[/color] [color=#0000FF]as[/color] [color=#0080FF]string[/color]

[color=#0000FF]set[/color] [color=#800000]{[/color][color=#3F7F00]texte[/color][color=#800000],[/color] [color=#3F7F00]compteur[/color][color=#800000]}[/color] [color=#0000FF]to[/color] [color=#800000]{"[/color]Pas trouvé de .mov[color=#800000]",[/color] 0[color=#800000]}[/color]

[color=#800000]--[/color][color=#FF8000] Ne prend en compte que les fichiers à la racine du dossier sélectionné[/color]
[color=#0000FF]tell[/color] [color=#0080FF]application[/color] [color=#800000]"[/color]System Events[color=#800000]"[/color] [color=#0000FF]to[/color] [color=#0000FF]set[/color] [color=#3F7F00]noms_Lue[/color] [color=#0000FF]to[/color] [color=#800000]([/color][color=#0080FF]name[/color] [color=#0000FF]of[/color] [color=#800000]([/color][color=#0000FF]every[/color] [color=#0080FF]file[/color] [color=#0000FF]of[/color] [color=#0080FF]folder[/color] [color=#3F7F00]chemin[/color][color=#800000]))[/color]

[color=#0000FF]set[/color] [color=#0080FF]AppleScript[/color][color=#800000]'s[/color] [color=#0080FF]text item delimiters[/color] [color=#0000FF]to[/color] [color=#800000]"[/color].[color=#800000]"[/color]

[color=#0000FF]repeat[/color] [color=#0000FF]with[/color] [color=#3F7F00]nom[/color] [color=#0000FF]in[/color] [color=#3F7F00]noms_Lue[/color]
	[color=#0000FF]set[/color] [color=#3F7F00]nomDossier[/color] [color=#0000FF]to[/color] [color=#0080FF]item[/color] 1 [color=#0000FF]of[/color] [color=#0080FF]text items[/color] [color=#0000FF]of[/color] [color=#3F7F00]nom[/color] [color=#0000FF]as[/color] [color=#0080FF]text[/color]
	
	[color=#0000FF]if[/color] [color=#800000]([/color][color=#3F7F00]nom[/color] [color=#0000FF]as[/color] [color=#0080FF]string[/color][color=#800000])[/color] [color=#0000FF]contains[/color] [color=#800000]"[/color].mov[color=#800000]"[/color] [color=#0000FF]then[/color] [color=#800000]--[/color][color=#FF8000] .mov à changer suivant les fichiers à traiter[/color]
		
		[color=#0000FF]tell[/color] [color=#0080FF]application[/color] [color=#800000]"[/color]Finder[color=#800000]"[/color]
			[color=#0080FF]make[/color] [color=#0080FF]new[/color] [color=#0080FF]folder[/color] [color=#0080FF]at[/color] [color=#0080FF]alias[/color] [color=#3F7F00]chemin[/color] [color=#0080FF]with properties[/color] [color=#800000]{[/color][color=#0080FF]name[/color][color=#800000]:[/color][color=#3F7F00]nomDossier[/color][color=#800000]}[/color]
			[color=#0080FF]move[/color] [color=#0080FF]file[/color] [color=#800000]([/color][color=#3F7F00]chemin[/color] [color=#800000]&[/color] [color=#3F7F00]nom[/color] [color=#0000FF]as[/color] [color=#0080FF]string[/color][color=#800000])[/color] [color=#0080FF]to[/color] [color=#0080FF]folder[/color] [color=#800000]([/color][color=#3F7F00]chemin[/color] [color=#800000]&[/color] [color=#3F7F00]nomDossier[/color] [color=#0000FF]as[/color] [color=#0080FF]string[/color][color=#800000])[/color]
		[color=#0000FF]end[/color] [color=#0000FF]tell[/color]
		[color=#0000FF]set[/color] [color=#3F7F00]compteur[/color] [color=#0000FF]to[/color] [color=#3F7F00]compteur[/color] [color=#800000]+[/color] 1
		
	[color=#0000FF]end[/color] [color=#0000FF]if[/color]
	
[color=#0000FF]end[/color] [color=#0000FF]repeat[/color]

[color=#0000FF]set[/color] [color=#0080FF]AppleScript[/color][color=#800000]'s[/color] [color=#0080FF]text item delimiters[/color] [color=#0000FF]to[/color] [color=#800000]""[/color]
[color=#0000FF]if[/color] [color=#3F7F00]compteur[/color] [color=#0000FF]is[/color] [color=#0000FF]not[/color] 0 [color=#0000FF]then[/color] [color=#0000FF]set[/color] [color=#3F7F00]texte[/color] [color=#0000FF]to[/color] [color=#800000]"[/color]Terminé = [color=#800000]"[/color] [color=#800000]&[/color] [color=#3F7F00]compteur[/color] [color=#800000]&[/color] [color=#800000]"[/color] Fichiers trouvés[color=#800000]"[/color]

[color=#0000FF]tell[/color] [color=#0000FF]me[/color] [color=#0000FF]to[/color] [color=#0080FF]activate[/color]
[color=#0080FF]display dialog[/color] [color=#3F7F00]texte[/color] [color=#0080FF]buttons[/color] [color=#800000]{"[/color]Quitter[color=#800000]"}[/color] [color=#0080FF]giving up after[/color] 5 [color=#0080FF]with title[/color] [color=#800000]"[/color]RANGER .mov[color=#800000]"[/color][color=#7F007F]
[/color]
```

@+


----------



## michael1971 (11 Octobre 2011)

Ho un tout grand merci !
C'est dommage que cela ne fonctionne qu'avec les .mov, mais bon c'est génial.


----------



## ceslinstinct (11 Octobre 2011)

michael1971 a dit:


> Ho un tout grand merci !
> C'est dommage que cela ne fonctionne qu'avec les .mov, mais bon c'est génial.


Bonsoir

Il suffit de remplacer les 3 .mov par l'extension des fichiers que tu veut gérer, où alors en début de code une boite de dialogue qui demande l'extension à utiliser.

Honnêtement, créer un dossier pour chaque fichiers, c'est une demande assez rare.

Alors j'ai écrit ce code suivant tes indications.

Si j'ai bien compris ça fonctionne.

@+


----------



## michael1971 (13 Octobre 2011)

ceslinstinct a dit:


> Bonsoir
> 
> Il suffit de remplacer les 3 .mov par l'extension des fichiers que tu veut gérer, où alors en début de code une boite de dialogue qui demande l'extension à utiliser.
> 
> ...



Oui je viens de m'en apercevoir. En tout cas un tout grand merci à toi ! 
C'est vrai que cela n'est pas courant. J'utilise un logiciel d'indexation qui s'appelle duneX qui va chercher des jaquettes de films sur le net afin d'avoir une jolie présentation sur la tv (j'ai une platine hdi dune) . J'ai donc besoin de mettre chaque films dans un dossier portant le même nom. 
Ton script fonctionne très bien ! Merci


----------



## ceslinstinct (13 Octobre 2011)

michael1971 a dit:


> Oui je viens de m'en apercevoir. En tout cas un tout grand merci à toi !
> C'est vrai que cela n'est pas courant. J'utilise un logiciel d'indexation qui s'appelle duneX qui va chercher des jaquettes de films sur le net afin d'avoir une jolie présentation sur la tv (j'ai une platine hdi dune) . J'ai donc besoin de mettre chaque films dans un dossier portant le même nom.
> Ton script fonctionne très bien ! Merci


Bonjour

Si tu utilise un dossier pour tes films, quel que soit l'extension, essais le code ci-dessous pour voir (il gère lui même les extensions).

Ne prend pas en compte le fichier .DS_Store où icon (si tu as personnalisé ton dossier de réception) ainsi que les fichiers causant un problème.

```
[color=#0000FF]set[/color] [color=#3F7F00]chemin[/color] [color=#0000FF]to[/color] [color=#800000]([/color][color=#0080FF]choose folder[/color] [color=#0080FF]with prompt[/color] [color=#800000]"[/color]Quel dossier à lire?[color=#800000]"[/color] [color=#0000FF]without[/color] [color=#0080FF]invisibles[/color][color=#800000])[/color] [color=#0000FF]as[/color] [color=#0080FF]string[/color]

[color=#0000FF]set[/color] [color=#800000]{[/color][color=#3F7F00]texte[/color][color=#800000],[/color] [color=#3F7F00]compteur[/color][color=#800000]}[/color] [color=#0000FF]to[/color] [color=#800000]{"[/color]Pas trouvé de fichiers.[color=#800000]",[/color] 0[color=#800000]}[/color]

[color=#800000]--[/color][color=#FF8000] Ne prend en compte que les fichiers à la racine du dossier sélectionné[/color]
[color=#0000FF]tell[/color] [color=#0080FF]application[/color] [color=#800000]"[/color]System Events[color=#800000]"[/color] [color=#0000FF]to[/color] [color=#0000FF]set[/color] [color=#3F7F00]noms_Lue[/color] [color=#0000FF]to[/color] [color=#800000]([/color][color=#0080FF]name[/color] [color=#0000FF]of[/color] [color=#800000]([/color][color=#0000FF]every[/color] [color=#0080FF]file[/color] [color=#0000FF]of[/color] [color=#0080FF]folder[/color] [color=#3F7F00]chemin[/color][color=#800000]))[/color]

[color=#0000FF]set[/color] [color=#0080FF]AppleScript[/color][color=#800000]'s[/color] [color=#0080FF]text item delimiters[/color] [color=#0000FF]to[/color] [color=#800000]"[/color].[color=#800000]"[/color]

[color=#0000FF]repeat[/color] [color=#0000FF]with[/color] [color=#3F7F00]nom[/color] [color=#0000FF]in[/color] [color=#3F7F00]noms_Lue[/color]
	
	[color=#0000FF]if[/color] [color=#0080FF]character[/color] 1 [color=#0000FF]of[/color] [color=#800000]([/color][color=#3F7F00]nom[/color] [color=#0000FF]as[/color] [color=#0080FF]string[/color][color=#800000])[/color] [color=#0000FF]is[/color] [color=#0000FF]not[/color] [color=#800000]"[/color].[color=#800000]"[/color] [color=#0000FF]then[/color] [color=#800000]--[/color][color=#FF8000] Pour pas prendre en compte le fichier DS_Store si existe[/color]
		[color=#0000FF]set[/color] [color=#3F7F00]nomDossier[/color] [color=#0000FF]to[/color] [color=#0080FF]item[/color] 1 [color=#0000FF]of[/color] [color=#0080FF]text items[/color] [color=#0000FF]of[/color] [color=#3F7F00]nom[/color] [color=#0000FF]as[/color] [color=#0080FF]text[/color]
		
		[color=#0000FF]tell[/color] [color=#0080FF]application[/color] [color=#800000]"[/color]Finder[color=#800000]"[/color]
			[color=#0000FF]try[/color]
				[color=#0080FF]make[/color] [color=#0080FF]new[/color] [color=#0080FF]folder[/color] [color=#0080FF]at[/color] [color=#0080FF]alias[/color] [color=#3F7F00]chemin[/color] [color=#0080FF]with properties[/color] [color=#800000]{[/color][color=#0080FF]name[/color][color=#800000]:[/color][color=#3F7F00]nomDossier[/color][color=#800000]}[/color]
				[color=#0080FF]move[/color] [color=#0080FF]file[/color] [color=#800000]([/color][color=#3F7F00]chemin[/color] [color=#800000]&[/color] [color=#3F7F00]nom[/color] [color=#0000FF]as[/color] [color=#0080FF]string[/color][color=#800000])[/color] [color=#0080FF]to[/color] [color=#0080FF]folder[/color] [color=#800000]([/color][color=#3F7F00]chemin[/color] [color=#800000]&[/color] [color=#3F7F00]nomDossier[/color] [color=#0000FF]as[/color] [color=#0080FF]string[/color][color=#800000])[/color]
				[color=#0000FF]set[/color] [color=#3F7F00]compteur[/color] [color=#0000FF]to[/color] [color=#3F7F00]compteur[/color] [color=#800000]+[/color] 1
			[color=#0000FF]end[/color] [color=#0000FF]try[/color]
		[color=#0000FF]end[/color] [color=#0000FF]tell[/color]
		
		
	[color=#0000FF]end[/color] [color=#0000FF]if[/color]
[color=#0000FF]end[/color] [color=#0000FF]repeat[/color]

[color=#0000FF]set[/color] [color=#0080FF]AppleScript[/color][color=#800000]'s[/color] [color=#0080FF]text item delimiters[/color] [color=#0000FF]to[/color] [color=#800000]""[/color]
[color=#0000FF]if[/color] [color=#3F7F00]compteur[/color] [color=#0000FF]is[/color] [color=#0000FF]not[/color] 0 [color=#0000FF]then[/color] [color=#0000FF]set[/color] [color=#3F7F00]texte[/color] [color=#0000FF]to[/color] [color=#800000]"[/color]Terminé = [color=#800000]"[/color] [color=#800000]&[/color] [color=#3F7F00]compteur[/color] [color=#800000]&[/color] [color=#800000]"[/color] Fichiers trouvés[color=#800000]"[/color]

[color=#0000FF]tell[/color] [color=#0000FF]me[/color] [color=#0000FF]to[/color] [color=#0080FF]activate[/color]
[color=#0080FF]display dialog[/color] [color=#3F7F00]texte[/color] [color=#0080FF]buttons[/color] [color=#800000]{"[/color]Quitter[color=#800000]"}[/color] [color=#0080FF]giving up after[/color] 5 [color=#0080FF]with title[/color] [color=#800000]"[/color]RANGER FILMS[color=#800000]"[/color]
```
Fonctionne aussi, quel que soit l'extension autre que des films mais inutile juste pour simplement tester.

Tu donne une réponse pour savoir si ça fonctionne correctement chez toi?

@+


----------



## michael1971 (19 Octobre 2011)

Merci à toi ! J'essaierai bientôt car là je suis plutôt débordé 
Bientôt un feedback promis !


----------



## michael1971 (22 Octobre 2011)

Voilà testé ce matin ! Fonctionne très bien ! Un tout grand merci !


----------



## chrisd66 (18 Novembre 2012)

Bonjour

je l'ai testé mais le script m'affirme "pas trouvé de fichiers" je suis sur un mac mini, os 10.7.5. les fichiers sont sur un synology auquel j'accède via SMB.

le script pointe sur le bon dossier (le dossier videos sur le NAS). Tout mes fichiers apparaissent. certains sont deja dans des dossiers nominatifs, mais la majorité sont tels quels dans le dossier vidéos. 

Sur le debugging du script, tout les fichiers apparaissent, mais le script n'en tient pas compte


```
tell application "AppleScript Editor"
	choose folder with prompt "Quel dossier à lire?" without invisibles
		--> alias "/Volumes/video-1"
end tell
tell application "System Events"
	get name of every file of folder "/Volumes/video-1"
		--> {"**********.avi", "**********.avi", "*********.avi", }
end tell
tell current application
	activate
end tell
tell application "AppleScript Editor"
	display dialog "Pas trouvé de fichiers." buttons {"Quitter"} giving up after 5 with title "RANGER FILMS"
		--> {button returned:"", gave up:true}
end tell
Résultat*:
{button returned:"", gave up:true}
```


----------



## ceslinstinct (18 Novembre 2012)

chrisd66 a dit:


> Bonjour
> 
> je l'ai testé mais le script m'affirme "pas trouvé de fichiers" je suis sur un mac mini, os 10.7.5. les fichiers sont sur un synology auquel j'accède via SMB.
> 
> ...



Bonjour

Bienvenue parmi nous.

Le code cité plus haut, est fait pour travailler avec le volume de démarrage.

Ton problème serais pas qu'il trouve pas le bon chemin sur un volume externe?

PS: même sur une clé USB fonctionne normalement, donc ajouter un contrôle des erreurs pour voir d'où vient le problème.

@+


----------



## chrisd66 (18 Novembre 2012)

merci pour votre accueil. 

Il trouve le NAS, c'est certain. 

le path suivant smb://diskstation/videos/Alien/Alien.avi est reconnu et si j'applique le script sur le dossier "Alien". Le fichier Alien.avi qu'il contient va se retrouver imbriqué dans un dossier de plus. Et, j'obtiendrai smb//diskstation/videos/Alien/Alien/Alien.avi

Mais lorsque le path est smb://diskstation/videos/   là ça ne marche plus.

peut être parce que Smb://diskstation/videos/ contient des fichiers et des dossiers ?

---------- Nouveau message ajouté à 18h00 ---------- Le message précédent a été envoyé à 16h48 ----------




chrisd66 a dit:


> merci pour votre accueil.
> 
> Il trouve le NAS, c'est certain.
> 
> ...




ce n'est pas le mélange dossiers/fichiers qui pose problème. J'ai viré tous les dossiers et c'est la même chose. 

J'ai tenté d'utiliser un simlink pointant sur le dossier video du NAS : échec

enfin, en fait le path n'est pas smb://diskstation/video/ mais /Volumes/video-1

bref, ca ne marche toujours pas


----------



## ceslinstinct (19 Novembre 2012)

chrisd66 a dit:


> merci pour votre accueil.


Bonsoir

Le *tu* est *obligatoire*, on se connaît pas mais ça donne l'impression de parler à un(e) ami(e).

Le code est fait pour prendre en compte que les fichiers à la racine du dossier sélectionné.

Ce que tu recherche, c'est de prendre en compte tous les fichiers quelques soit leurs positions dans des sous-dossiers?

Un exemple de liste des noms  des fichiers du contenu du dossier et de quelques sous-dossiers  aiderais bien pour comprendre ton problème.

Tout ça pour te dire que je ne comprend pas ce que tu recherche (OUI je sais que j'ai qu'un neurone).

IMPOSSIBLE n'étant pas Français, il doit exister une solution.

Cordialement

JL


----------



## mad'doc (19 Octobre 2013)

ceslinstinct a dit:


> Bonjour
> 
> Si tu utilise un dossier pour tes films, quel que soit l'extension, essais le code ci-dessous pour voir (il gère lui même les extensions).
> 
> ...



Ce code fonctionne bien sous Mountain Lion.
Merci !!!


----------



## Bloumbloum2000 (18 Décembre 2015)

Salut JL, je déterre ce topic, j'aurais bien été intéressé par ton code, mais il semblerait qu'il ai pris "un coup" (voir ci-dessous)...

J'ai bien essayé de virer toutes les occurrences avec color, mais sans succès...

Tu penses pouvoir le re-poster?

Au fait, je suis sous 10.9.5 ;-)

Merci!






ceslinstinct a dit:


> ```
> [color=#0000FF]set[/color] [color=#3F7F00]chemin[/color] [color=#0000FF]to[/color] [color=#800000]([/color][color=#0080FF]choose folder[/color] [color=#0080FF]with prompt[/color] [color=#800000]"[/color]Quel dossier à lire?[color=#800000]"[/color] [color=#0000FF]without[/color] [color=#0080FF]invisibles[/color][color=#800000])[/color] [color=#0000FF]as[/color] [color=#0080FF]string[/color]
> 
> [color=#0000FF]set[/color] [color=#800000]{[/color][color=#3F7F00]texte[/color][color=#800000],[/color] [color=#3F7F00]compteur[/color][color=#800000]}[/color] [color=#0000FF]to[/color] [color=#800000]{"[/color]Pas trouvé de fichiers.[color=#800000]",[/color] 0[color=#800000]}[/color]
> ...


----------

