返回指定文件(含完整路径)的创建时间、修改时间和访问时间
本帖最后由 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))
)
)
感谢 USER2128朋友的肯定! good!太妙了,老大很牛啊! 感谢,拿走了
页:
[1]