# Automator, création de dossiers



## enark78 (27 Juin 2012)

Bonjour, 

j'aimerai savoir s'il est possible de créer autant de dossiers que l'on veut en leur donnant comme nom la date d'un jour (date actuelle par exemple), jusqu'à un jour choisi.

En gros, je souhaite créer un dossier se nommant "2012-06-27", un autre se nommant "2012-06-28", et ainsi de suite jusqu'à la date choisi avant.

Meri d'avance.


----------



## Larme (27 Juin 2012)

Oui, c'est faisable.


----------



## enark78 (27 Juin 2012)

Merci, c'est ce qu'il me semblait.

Aurais-tu une idée sur la facon de faire ca ? Je sais créer un dossier et lui donner le nom de la date (super dur ) mais je ne sais pas du tout comment en créer plusieurs en changeant la date.


----------



## ceslinstinct (30 Juin 2012)

enark78 a dit:


> Merci, c'est ce qu'il me semblait.
> 
> Aurais-tu une idée sur la facon de faire ca ? Je sais créer un dossier et lui donner le nom de la date (super dur ) mais je ne sais pas du tout comment en créer plusieurs en changeant la date.


Bonjour

Avec Automator, je sais pas mais avec AppleScript aucun problème.

Ce que fait mon code:

1) Demande le nombre de dossiers à créer.
2) Demande le dossier de réception.
3) Mémorise les nouveaux noms des dossiers à créer (prend en compte les changements de mois et d'année).
4) Contrôle si les dossiers n'existent pas dans le dossier de réception, alors les créer.

Création des dates des dossiers, du jour de l'utilisation du code (sinon à modifier).

Testé avec Léopard et Snow Léopard sans problème.

Si tu désire voir le code, a ta disposition.

A voir par toi-même les modifications à faire pour ton Lion (si des modifications sont nécessaires).

@+


*Note du modo :* ainsi que je le précise dans cette annonce "à lire avant de poster" placée en tête de forum :



> Concernant le cas particulier d'Automator, jusqu'à nouvel avis, on en parlera dans le forum accueillant normalement les discussions concernant les applications qu'on veut automatiser (par exemple dans "Internet et réseau" pour l'automatisation d'envois de mails, ou dans "Photo" pour des traitements "batch" de photos).



La création de dossiers relevant du Finder, donc de Mac OS, ce sujet n'a donc pas sa place ici. On déménage.


----------



## sgamel (2 Juillet 2012)

Bon OK, elle n'est pas directement téléchargeable telle-que, mais je peux arranger ça rapidement.

Le project XCode de l'action est disponible ici:
https://bitbucket.org/sgintech/foldersequenceaction

Elle permet de construire des dossiers sous la forme dossier01, dossier02, etc. On peut ensuite les renommer.

Je peux éventuellement mettre à disposition une version pré-compilée.

Il est plutôt simple de créer une action pour XCode qui ferait exactement ce que vous voulez. Il me suffit d'adapter le code existant. Je peux essayer de vous faire ca pour demain ou après-demain.


----------



## zacromatafalgar (3 Juillet 2012)

Salut,

Je t'ai fait ça vite fait, il suffit de lancer l'applet par double clic puis de saisir les dates de départ et de fin&#8230;



Edit : les dossiers sont créés dans un dossier intitulé "datedFolders" lui-même créé sur le bureau&#8230;


----------



## ceslinstinct (3 Juillet 2012)

zacromatafalgar a dit:


> Salut,
> 
> Je t'ai fait ça vite fait, il suffit de lancer l'applet par double clic puis de saisir les dates de départ et de fin
> 
> ...


Bonjour

Avec Léopard et Snow Léopard, j'ai cette fenêtre: *mkdir: /SL:Uers/zacro/Desktop: No such file or directory*

J'ai écrit un code assez simple pour faire ce travail, mais débutant du jour de l'utilisation.

Mon code avec des commentaires à tester.


```
-- CRÉATION DE DOSSIERS DATÉS

-- © Légal Jean Louis
-- Version 0.0.1 &#945; Testé avec Léopard et Snow Léopard
-- Créé le 1 Juillet 2012

-- Trois type de noms de dossiers ($ = affichage US,  = affichage Français, où  pour avoir l'affichage en Français avec les noms des mois) un seul choix

-- ######################## \\\ VOS CHOIX /// ######################################

-- Choix du nombre de dossiers à créer
set nombre_Dossiers to text returned of (display dialog "Combien de dossiers datés?" default answer "2" buttons {"Annuler", "Ok"} default button 2 with title "VOTRE CHOIX" with icon note giving up after 20)

set chemin to choose folder -- Chemin du dossier de réception

-- set mois_Fr to {"Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"} -- 
set compteur to 0 -- Initialisation du compteur de dossiers créés

-- ######################## \\\ DATES DES DOSSIERS /// ###############################

tell application "Finder"
	-- Commence par 'from 0' pour créer le dossier daté d'aujurd'hui (- 1 pour prendre en compte le 0 dans le choix du nombre de dossiers à créer)
	repeat with i from 0 to nombre_Dossiers - 1
		set {year:an, day:jour} to (current date) + (i * days) -- Numéros de l'Annèe et du Jour de la date trouvée
		set mois to month of ((current date) + (i * days)) as integer --  Pour remplacer le nom du Mois lue par son numéro de la date trouvée
		
		-- set nom_Mois_Fr to item mois of mois_Fr -- Nom du mois en Français 
		
		set nom_dossier to an & "-" & mois & "-" & jour as string -- Nom du dossier à créer US $
		-- set nom_dossier to jour & "-" & mois & "-" & an as string -- Nom du dossier à créer Fr 
		-- set nom_dossier to jour & "-" & nom_Mois_Fr & "-" & an as string -- Nom du dossier à créer avec le nom du mois en Français 
		
		-- ################### \\\ CRÉATIONS DES DOSSIERS DATÉS /// #######################
		
		-- Besoin de l'application Finder
		if not (exists folder nom_dossier in chemin) then -- Contrôle si ce dossier n'existe pas dans le dossier sélectionné
			make new folder in folder chemin with properties {name:(nom_dossier as string)} -- Alors le créer
			set compteur to compteur + 1 -- Compteur des dossiers créés
		end if
	end repeat
end tell

-- ######################## \\\ ALERTE DE FIN DE TRAVAIL /// ############################

display dialog "Dossiers créés: " & compteur & " sur " & nombre_Dossiers buttons {"Ok"} default button 1 with title "TERMINÉ" giving up after 5

-- ######################## \\\ FIN DU CODE /// #####################################
```

Je sais pas si il fonctionne avec Lion.

Cordialement

Jean Louis


----------



## zacromatafalgar (3 Juillet 2012)

ceslinstinct a dit:


> Avec Léopard et Snow Léopard, j'ai cette fenêtre: *mkdir: /SL:Uers/zacro/Desktop: No such file or directory*



J'ai oublié un "my" 

Ça doit aller maintenant

PS : je n'ai pas Lion mais SL


----------



## ceslinstinct (3 Juillet 2012)

zacromatafalgar a dit:


> J'ai oublié un "my"&#8230;
> 
> Ça doit aller maintenant&#8230;
> 
> PS : je n'ai pas Lion mais SL&#8230;


Bonjour

Avec Léopard 10.5.8 et Snow Léopard 10.6.8 toujours la même fenêtre d'alerte 

Mon code, fonctionnent-il chez toi?

PS: mes noms de DD et  de petite maison sont différents de ceux de ton code.

@+


----------



## zacromatafalgar (3 Juillet 2012)

ceslinstinct a dit:


> Bonjour
> 
> Avec Léopard 10.5.8 et Snow Léopard 10.6.8 toujours la même fenêtre d'alerte
> 
> ...



Étonnant cette alerte, d'autant que je n'utilise pas les noms de ma session et disque mais "Path to desktop" 

Oui ton code fonctionne 

Une version avec les properties dans le cur du script puisqu'apparemment c'est ce qui pose problème (assure toi de bien essayer la dernière version)


----------



## ceslinstinct (3 Juillet 2012)

zacromatafalgar a dit:


> Étonnant cette alerte, d'autant que je n'utilise pas les noms de ma session et disque mais "Path to desktop"
> 
> Oui ton code fonctionne&#8230;
> 
> Une version avec les properties dans le c&#339;ur du script puisqu'apparemment c'est ce qui pose problème (assure toi de bien essayer la dernière version)


Bonjour

Cette dernière version *fonctionne*. 

Remarque: Si je donne une date de début et de fin, les résultats que je trouves.

début 5/7/2012, dernier jour 17/7/2012.

Trouvé dans le dossier datedFolders sur le bureau:

Le dossier du 5/7/2012 n'existe pas, c'est normal? 

Donc la première date n'est pas prise en compte.

J'ai modifié alors cette ligne:

repeat with i from 1 to daysNbr
par

```
repeat with i from 0 to daysNbr - 1
```

Alors j'ai les dossiers demandés, de la première à la dernières date sélectionnée. 

PS: j'ai bien testé la deuxième version, puisque tu avais corrigé la faute dans le nom de la première version.

@+


----------



## zacromatafalgar (3 Juillet 2012)

ceslinstinct a dit:


> ```
> repeat with i from 0 to daysNbr - 1
> ```



Avec le "-1", il doit te manquer le dernier dossier, vérifie&#8230;


----------



## ceslinstinct (3 Juillet 2012)

zacromatafalgar a dit:


> Avec le "-1", il doit te manquer le dernier dossier, vérifie&#8230;


Bonjour

Disons que j'ai pas fait d'erreur, que c'était juste si tu le remarquerais. 

Chez moi ton code fonctionne parfaitement.

PS: Mais avec from 0 j'ai le premier dossier (du moins chez moi).

@+


----------

