Aller au contenu

Propriétés d'un dossier


l56
 Partager

Messages recommandés

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 !

 

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

  • Upvote 1

Apprendre => Prendre => Rendre

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
 Partager

×
×
  • 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é