l56 Posté(e) le 5 novembre 2021 Posté(e) le 5 novembre 2021 Bonjour, Je sais récupérer une liste de dossiers avec "(vl-directory-files ..." mais je voudrais également obtenir la date de création et de modification de ces dossiers. Si quelqu'un à une petite idée ... Merci L56
Luna Posté(e) le 5 novembre 2021 Posté(e) le 5 novembre 2021 Coucou, Tu peux déjà essayer de regarder du côté de la fonction (vl-file-systime) afin d'obtenir la date de la dernière modification. Autrement, pourquoi passer par AutoCAD pour récupérer ces infos ? Ne serait-il pas plus simple d'utiliser un script Windows pour récupérer des données Windows ? ^^" Bisous, Luna
didier Posté(e) le 5 novembre 2021 Posté(e) le 5 novembre 2021 Bonjour @l56 Une petite question pour ne pas travailler dans le flou : C'est la date de modification de quoi qui est cherchée ? Les DOSSIERS ou les FICHIERS. Il est écrit "dossiers" dans la question, mais je pense qu'il s'agit des "fichiers". Le vocabulaire est très important (comme toujours) Amicalement Éternel débutant… Mon site perso : Programmer dans AutoCAD
l56 Posté(e) le 5 novembre 2021 Auteur Posté(e) le 5 novembre 2021 Merci pour vos réponses et la précision recherchée. Je parle bien de dossiers, pas des fichiers.
l56 Posté(e) le 5 novembre 2021 Auteur Posté(e) le 5 novembre 2021 l’équivalent en batch de dir *.* / on /tc et de dir *.* / on /tw Avec ces lignes de codes j'obtiens fichiers ET dossiers mais seul les dossiers m’intéressent
Curlygoth Posté(e) le 5 novembre 2021 Posté(e) le 5 novembre 2021 Bon je vais pas aider ici mais bon ... en vba : Dim fso As New Scripting.FileSystemObject Dim fld As Scripting.Folder Set fld = fso.GetFolder("c:\windows") 'a mettre en variable le dossier DATE_CREATION = fld.DateCreated Mon site Web (en cours de construction) : Site DA-CODE de @didier
Olivier Eckmann Posté(e) le 5 novembre 2021 Posté(e) le 5 novembre 2021 Tu peux trouver un bon exemple d'utilisation de ce que propose @Curlygoth en vlisp ici : https://www.afralisp.net/archive/lisp/script1.htm (setq fso (vlax-create-object "Scripting.FilesystemObject")) Olivier
l56 Posté(e) le 5 novembre 2021 Auteur Posté(e) le 5 novembre 2021 Merci à Olivier et Curlygoth, j'ai fini par obtenir l'information. (setq wscript (vlax-create-object "WScript.Network")) (setq fso (vlax-create-object "Scripting.FilesystemObject")) (setq gfd (vlax-invoke-method fso 'GetFolder "C:\\windows")) (setq date_de_creation (vlax-get-property gfd 'DateCreated)) -> 43806.4 (setq date_de_modification (vlax-get-property gfd 'DateLastModified)) -> 44481.9 Mais il me manque encore quelque chose, c'est le format. Comment transformer ces dates dans le format suivant : jj/mm/aaaa - hh:mm:ss
Olivier Eckmann Posté(e) le 5 novembre 2021 Posté(e) le 5 novembre 2021 Bonjour, La partie entière, c'est le nombre de jours écoulés depuis le 1er janvier 1900 et la partie décimale, c'est la fraction d'une journée de 24h. Olivier
didier Posté(e) le 5 novembre 2021 Posté(e) le 5 novembre 2021 Coucou En calendrier Julien ça existe, celui basé sur 1900 pose pas mal de questions. Une bonne piste de recherche pour moi qui cherche des exemples pour alimenter mon site. Je vais y travailler. Amicalement Éternel débutant… Mon site perso : Programmer dans AutoCAD
l56 Posté(e) le 5 novembre 2021 Auteur Posté(e) le 5 novembre 2021 C'est une très bonne nouvelle. Entre le nombre de jours qui diffèrent suivant les mois et les années bissextiles, le calcul me semble un peu compliqué. J'avais imaginé qu'il existait une commande VBA capable de traiter les commandes liés aux dates 'DateCreated, DateLastAccessed, DateLastModified .... Etrange ... Merci en tous cas !
didier Posté(e) le 5 novembre 2021 Posté(e) le 5 novembre 2021 Bonjour @l56 Pourquoi parles-tu de VBA ? J'ai trouvé un truc simple dans une de mes anciennes routines en changeant la référence à 1900 en calendrier Julien par la constante de la date du 01/01/1900 : ; date1 = "44253.4264583334" (setq date11 (rtos (+ 2415019 (atof date1)) 2 15)) (setq dateformat (menucmd (strcat "m=$(edtime," date11 "," "DD.MO.YYYY HH:MM:SS" ")"))) Je vais travailler plus avant sur les dates pour peaufiner da-code.fr avec ces expressions DIESEL bien utiles. Amicalement Éternel débutant… Mon site perso : Programmer dans AutoCAD
l56 Posté(e) le 5 novembre 2021 Auteur Posté(e) le 5 novembre 2021 Merci, c'est bien vu ! Bonne soirée
VDH-Bruno Posté(e) le 5 novembre 2021 Posté(e) le 5 novembre 2021 Il y a 7 heures, l56 a dit : Comment transformer ces dates dans le format suivant : jj/mm/aaaa - hh:mm:ss Bonsoir, En lisp il y a le fichier julian.lsp de chez AutoDesk, qui peut t'aider pour formater une date au format Julien en reprenant l'exemple donné par Didier une fois le fichier charger _$ (setq date1 "44253.4264583334") "44253.4264583334" _$ (JTOC (+ 2415019 (atof date1))) (2021 2 26 10 14 6.00002) Retourne la date sous forme de liste au format (aaaa mm jj hh mm ss) à retravailler pour avoir l'affichage désiré Sinon en fin de fichier pour un affichage plus spécifique tu peux t'inspirer des dernières lignes du fichier dans la routine (C:date) (setq date1 "44253.4264583334") (setq cdate (jtod (+ 2415019 (atof date1))) c (fix cdate) y (/ c 10000) ; Get year m (rem (/ c 100) 100) ; Ger month d (rem c 100) ; Get day c (- cdate (fix cdate)) ; Strip date from date/time c (fix (* c 1000000000)) ; Scale time to get HHMMSSmmm integer hh (/ c 10000000) ; Get hours mm (rem (/ c 100000) 100) ; Get minutes ss (rem (/ c 1000) 100) ; Get seconds msec (rem c 1000) ; Get milliseconds ) ;; Comment transformer ces dates dans le format suivant : jj/mm/aaaa - hh:mm:ss (strcat (itoa d) "/" (itoa m) "/" (itoa d) " - " (if (> hh 9) "" "0") (itoa hh) ":" (if (> mm 9) "" "0") (itoa mm) ":" (if (> ss 9) "" "0") (itoa ss)) Pour l'exemple dans la console Vlisp: _$ (strcat (itoa d) "/" (itoa m) "/" (itoa y) " - " (if (> hh 9) "" "0") (itoa hh) ":" (if (> mm 9) "" "0") (itoa mm) ":" (if (> ss 9) "" "0") (itoa ss)) "26/2/2021 - 10:14:06" julian.lsp 1 Apprendre => Prendre => Rendre
l56 Posté(e) le 10 novembre 2021 Auteur Posté(e) le 10 novembre 2021 Bonjour, Merci beaucoup pour ces explications. Le fichier Julian.lsp me semble être la réponse à toutes les questions concernant les dates !! Merci encore Bonne journée L56
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