guosheyang 发表于 2022-8-9 14:59:29

返回指定文件(含完整路径)的创建时间、修改时间和访问时间

本帖最后由 guosheyang 于 2022-8-9 15:06 编辑

   给朋友们分享个自定义函数 File_creat_modfy_access_date , 返回指定文件(含完整路径)的创建时间、修改时间和访问时间.请大家测试并提出问题及优化意见. 谢谢!

      

;自定义函数 File_creat_modfy_access_date                        
;作者 ygs-羊羊羊,参照了网友*Alan Henderson的代码               
;功能:返回指定文件(包含完整路径)的创建时间、修改时间和访问时间
;参数:FileName 文件名(包含完整路径的字符串)                           
;返回值:返回创建时间、修改时间和访问时间的列表                  
;(File_creat_modfy_access_date "D:\\新建文件夹 (7)\\Downloads\\坡度坡长标注44.dwg")
;返回值示例("创建时间、修改时间和访问时间分别为:"               
;"(周一, 08 八月 2022 16:09 周日, 31 七月 2022 22:45 周一, 08 八月 2022 16:09)")
(defun File_creat_modfy_access_date(FileName / ACCESSDATE CREATDATE FILEOBJ FILESYSOBJ JDATE JDATE2 JDATE3 MODIFYDATE RETURNVAL)
(setq FileSysObj (vlax-create-object "Scripting.FileSystemObject")
ReturnVal (cond
((= (vlax-invoke FileSysObj "FileExists" FileName) 0) nil)
((setq FileObj (vlax-invoke FileSysObj "GetFile" FileName))
(list
(vlax-get FileObj "DateCreated")
(vlax-get FileObj "DateLastModified")
(vlax-get FileObj "DateLastAccessed")
(vlax-get FileObj "Type")
(/ (vlax-get FileObj "Size") 1000.0)
(vlax-get FileObj "Attributes")
)
)
(T nil)
)
)
(if FileObj (vlax-release-object FileObj))
(vlax-release-object FileSysObj)
(setq jdate(+ 2415019 (car ReturnVal)))
(setq creatdate(menucmd(strcat "M=$(edtime,"(rtos jdate 2 4)",DDD\",\" DD MON YYYY hh:mm)")))
(setq jdate2(+ 2415019 (cadr ReturnVal)))
(setq modifydate(menucmd(strcat "M=$(edtime,"(rtos jdate2 2 4)",DDD\",\" DD MON YYYY hh:mm)")))
(setq jdate3(+ 2415019 (caddr ReturnVal)))
(setq accessdate(menucmd(strcat "M=$(edtime,"(rtos jdate3 2 4)",DDD\",\" DD MON YYYY hh:mm)")))
(list "创建时间、修改时间和访问时间分别为:"
   (VL-PRINC-TO-STRING (list creatdate modifydate accessdate))
)
)


guosheyang 发表于 2022-8-10 10:52:10

感谢 USER2128朋友的肯定!

cchessbd 发表于 2022-11-28 21:45:59

good!太妙了,老大很牛啊!

ynxugd 发表于 2024-1-9 09:32:34

感谢,拿走了
页: [1]
查看完整版本: 返回指定文件(含完整路径)的创建时间、修改时间和访问时间