Aller au contenu

dates....


x_all

Messages recommandés

bonjour...

 

je me doute que le lisp est peut être pas approprié a mon soucis, mais peut être grâce au VBA un "magicien" va pouvoir m'aider...

 

il y a tout un tas de répertoire dans les quel je dois faire des recherches par dates... le pb, c'est que ces répertoire ont été nommé sous forme jj-mm-aa des modification (ou du moins des sauvegarde) ont été faite aléatoirement, ce qui fait qu'en triant par nom, ou par dates, rien n'est dans l'ordre chronologique...

 

y aurai t il un moyen de renommer tous les répertoire d'un dossier sous la forme aa-mm-jj

 

ou de leur donner un N° d'ordre type 00-jj-mm-aa

 

merci

 

Lien vers le commentaire
Partager sur d’autres sites

Salut x_all,

 

pour le parcourt et le renommage de répertoire, il y a une bibliothèque très pratique est

gratuite: doslib dispo ici

http:// http://download.rhino3d.com/download.asp?id=doslib

 

Il y a un arx à charger, puis tu as la possibilité d'utiliser:

(dos_rendir old_path new_path) pour renommer

(dos_find [filespec [format]]) pour chercher des fichiers dans un répertoire

 

a+

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

je me doute que le lisp est peut être pas approprié a mon soucis

Et tu poses ta question dans Routines LISP :-))

 

Un exemple avec les activex pour trier les fichiers de la racine du disque C: selon la date croissante (date de la dernière modification).

(setq fso (vlax-create-object "Scripting.FileSystemObject"))
(vlax-for file (vlax-get (vlax-invoke fso 'getfolder "c:/") 'files)
 (setq lst (cons (list (vlax-get file 'name) (vlax-get file 'datelastmodified)) lst))
)
(mapcar 'car (vl-sort lst '(lambda(a b)(< (cadr a)(cadr b)))))
(vlax-release-object fso)

 

La date est au format julien, que tu peux convertir en grégorien ou en utilisant les fonctions vlisp style (vl-file-systime ...), mais pas très pratique quand il s'agit de faire un tri comme tu le demandes.

 

Un autre exemple pour les répertoires.

(setq fso (vlax-create-object "Scripting.FileSystemObject"))
(vlax-for rep (vlax-get (vlax-invoke fso 'getfolder "c:/") 'subfolders)
 (setq lst (cons (list (vlax-get rep 'name) (vlax-get rep 'datelastmodified)) lst))
)
(mapcar 'car (vl-sort lst '(lambda(a b)(< (cadr a)(cadr b)))))
(vlax-release-object fso)

 

Si tu as des sous répertoires, je te laisse chercher une itérative ou récursive.

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

ou lala les gars...

 

je suis encore loint de pouvoir m'attaquer à ça... et bon, mes 15 répertoires ont été renommé à la main c'était finalement assés vite fait...

 

mais je me posait la question jusqu'où va l auto lisp?

car l'autre jour, je suis tombé sur des truc en comon lisp... pou lala balaise le truc...

 

ainci donc, on peu sortir d'autocad pour traiter des fichiers...

 

merci de vos lumières :)

 

(decidément, il faut que je me paie un bouquin pour choper les bases et commencer doucement)

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité