# changement de format de date



## zablia (15 Août 2010)

bonjour,
j'ai quelques centaines de nom de dossier avec un format de date DD-MM-YY à changer en format YY-MM-DD auriez vous une solution soft ou script qui pourrait m'aider dans cette tache

merci par avance à toutes solutions


----------



## Pascal 77 (16 Août 2010)

La rédaction d'un Applescript spécifique qui fasse ça ne devrait pas prendre plus de quelques dizaines de minutes !

Par contre, vu la spécificité du problème, je serais bien surpris que tu puisse trouver une application "toute faite" qui puisse le faire.


----------



## ceslinstinct (16 Août 2010)

zablia a dit:


> bonjour,
> j'ai quelques centaines de nom de dossier avec un format de date DD-MM-YY à changer en format YY-MM-DD auriez vous une solution soft ou script qui pourrait m'aider dans cette tache
> 
> merci par avance à toutes solutions


Bonjour

Il faut savoir si le nom est du genre:
16-08-10, dossier x 16-08-10 où autres?

Si ils se trouvent dans 1 dossier où dossiers avec de multiples sous-dossiers dans ces sous-dossiers?

Ta question je pense (je suis pas juge) aurais du être posée dans *Développement sur Mac* pour avoir l'avis des maîtres en programmation.

Vue le nombre de dossier à traiter, peut-être avec des commandes du terminal (jamais ouvert le Terminal).

Avec AppleScript, ça risque d'être un peu long.

@+


----------



## Pascal 77 (16 Août 2010)

ceslinstinct a dit:


> Ta question je pense (je suis pas juge) aurais du être posée dans *Développement sur Mac* pour avoir l'avis des maîtres en programmation.



J'y ai pensé aussi, et ça se fera sans doute, mais au départ, il cherchait un utilitaire tout fait



ceslinstinct a dit:


> Avec AppleScript, ça risque d'être un peu long.



Pas spécialement, sur mon vieux G4, mon script "le renommeur" arrive à traiter 1300 fichiers en moins de 10 mn, alors sur un MacIntel &#8230; 

Bon, j'ai plus trop le temps, là (j'ai tapé ça en vitesse), mais en partant de ça, il ne reste sans doute plus qu'un peu de mise au point à faire pour que ça fonctionne (je suis parti du principe que DD, MM et YY avaient bien chacun deux chiffres, avec un zéro devant les jours, mois et années inférieurs à 10, mais je n'ai pas pu tester, faut aussi que je bosse pour mes clients) :


```
set jour to "" as string
set mois to "" as string
set annee to "" as string
set nomdepart to "" as string
set nomarrivee to "" as string
set nbdos to 0 as integer

tell application "Finder"
	set chemin to choose folder with prompt "sélectionnez le dossier contenant les dossiers à renommer"
	set nbdos to the number of items in the folder chemin
	set the listedos to list folder chemin without invisibles
	repeat with numdoscourant from 1 to nbdos
		set nomdepart to name of item numdoscourant of listedos
		set jour to (characters 1 thru 2 of nomdepart)
		set mois to (characters 4 thru 5 of nomdepart)
		set annee to (characters 7 thru 8 of nomdepart)
		set nomarrivee to (annee & "-" & mois & "-" & jour)
		set name of item numdoscourant of chemin to nomarrivee
		set numdoscourant to numdoscourant + 1
	end repeat
	display dialog ("well done") buttons ("see you later") giving up after 10
end tell
```


----------



## zablia (16 Août 2010)

merci Pascal 77 pour ce développement de script mais lorsque je le lance, il me demande le choix du dossier à traiter, ce que je fais, puis il m'envoie une Erreur d'Applescript : error "Il est impossible d&#8217;obtenir name of \"17-12-08\"." number -1728 from name of "17-12-08"
17-12-08 est bien le nom du premier dossier à traiter.
peut etre est-ce parce que je suis avec MacOS 10.6.4 et pas MacOS 9
merci pascal 77 si vous pouvez m'orienter, là vraiment je suis un peu perdu sans notion de programmation Applecript, j'avais fait un peu de basic applesoft par le passé mais c'est loin...


----------



## Pascal 77 (16 Août 2010)

zablia a dit:


> merci Pascal 77 pour ce développement de script mais lorsque je le lance, il me demande le choix du dossier à traiter, ce que je fais, puis il m'envoie une Erreur d'Applescript : error "Il est impossible dobtenir name of \"17-12-08\"." number -1728 from name of "17-12-08"
> 17-12-08 est bien le nom du premier dossier à traiter.
> peut etre est-ce parce que je suis avec MacOS 10.6.4 et pas MacOS 9
> merci pascal 77 si vous pouvez m'orienter, là vraiment je suis un peu perdu sans notion de programmation Applecript, j'avais fait un peu de basic applesoft par le passé mais c'est loin...



Relis mieux :



Pascal 77 a dit:


> Bon, j'ai plus trop le temps, là (j'ai tapé ça en vitesse), mais en partant de ça, il ne reste sans doute plus qu'un peu de mise au point à faire pour que ça fonctionne



j'ai tapé ça en vitesse pour te mettre sur la piste, mais là, j'ai vraiment pas le temps de le mettre au point. Je déplace ce topic dans le forum développement, tu trouveras certainement quelqu'un pour t'aider à le faire fonctionner !


----------



## zablia (16 Août 2010)

d'abord je remercie tous ceux qui sont intervenus m'apporter une aide et plus particulierement à Pascal 77.
je vous annonce aussi que j'ai trouvé une solution très efficace en l'utilisation du soft "A better finder rename 8" (payant) pour ceux que ça intéressent: Category : advanced & Special ; Action : Re-arrange using regular expressions.
rapide et efficace, un virtuose en la matière.

salutations à tous


----------



## tatouille (16 Août 2010)

une solution graduite find + sed (tester recursive une ligne, 40 characters (avec espace) au total), les gas je vous bien que l'on puisse etre fan d'apple script mais pour la manipulation du filesystem sous unix il y a un truc qui a ete fait et pour l'instant inegalé ca s'appel son shell machine.


----------

