Autolisp删除文件夹
本帖最后由 ou67169488 于 2024-5-7 10:56 编辑Autolisp 删除文件夹方法(这个库也可以同时用于删除文件。)Autolisp 本身并没有提供直接删除文件夹的函数。为了解决这一问题,我写了一个库,使得可以通过 Autolisp 直接调用 DLL 来删除文件夹。适用版本:
[*]DeleteDir3.5.dll 适用于 CAD 2010至2013
[*]DeleteDir4.5.dll 适用于 CAD 2014及以上版本
[*]调用方法: 使用 (DeleteDir filepath) 函数,其中 filepath 为您想要删除的文件夹或文件的路径。返回值: 操作完成后,函数会返回以下值之一:
[*]成功删除 - 文件夹或文件已成功删除
[*]文件被占用 - 文件夹或文件当前被其他程序占用
[*]文件不存在 - 指定的路径不存在文件夹或文件
[*]
; 加载 DLL 文件
(defun c:LoadDeleteDir ()
(vl-load-com)
(setq filepath "C:\\path\\to\\directory") ; 设置文件夹路径
(command "_netload" "DeleteDir3.5.dll") ; 加载对应版本的 DLL
(DeleteDir filepath) ; 调用函数删除文件夹
)
; 调用示例
(c:LoadDeleteDir)
满不错的…构想
下载来试试看
谢谢您的分享! lisp 可以调用 SFO 对象(Scripting.FileSystem Object),实现删除文件/文件夹 本帖最后由 tryhi 于 2024-5-7 11:59 编辑
感谢楼主分享,不过有一个内部函数叫“rmdir”,用于删除文件夹
示例:
(try-load-hide-fun "rmdir")
(rmdir "C:\\Users\\tryhi\\Desktop\\a\\1")
如何加载看这里:[源码] 激活系统隐藏的函数
tryhi 发表于 2024-5-7 11:48
感谢楼主分享,不过有一个内部函数叫“rmdir”,用于删除文件夹
示例:(rmdir "C:\%users\\tryhi\\Desktop ...
:lol这个也是个解决思路,这个隐藏得太深了;P 本帖最后由 ou67169488 于 2024-5-7 12:20 编辑
mokson 发表于 2024-5-7 10:58
lisp 可以调用 SFO 对象(Scripting.FileSystem Object),实现删除文件/文件夹
确实是可以实现的方式,涨姿势了
页:
[1]