x_all Posté(e) le 28 août 2008 Posté(e) le 28 août 2008 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 quelques trucs sur autocad
bseb67 Posté(e) le 28 août 2008 Posté(e) le 28 août 2008 Salut x_all, pour le parcourt et le renommage de répertoire, il y a une bibliothèque très pratique estgratuite: 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...
Patrick_35 Posté(e) le 28 août 2008 Posté(e) le 28 août 2008 Salut je me doute que le lisp est peut être pas approprié a mon soucisEt 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 PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
x_all Posté(e) le 29 août 2008 Auteur Posté(e) le 29 août 2008 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) quelques trucs sur autocad
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant