【K:SearchAndLoadFunc】搜索并加载路径下的程序
本帖最后由 kucha007 于 2023-9-7 09:57 编辑做了个自用的工具箱,程序更新改名后还得调整加载函数。
干脆程序全部扔到指定路径下面,直接搜索并加载得了:
注:此函数不搜索子文件夹中的程序
(vl-load-com)
(defun K:SearchAndLoadFunc (FuncPath / FuncTypes Error i FileNamLst FileNam FilePath xx)
;(setq FuncPath "C:\\FuncPath");搜索程序的目录
(setq FuncTypes '("*.LSP" "*.FAS" "*.VLX"));搜索源程序的类型
(setvar "SECURELOAD" 0);从所有位置加载文件(信任不警告)
(setq Error Nil);清空变量,避免串门
(repeat (setq i (length FuncTypes))
(if (setq FileNamLst (vl-directory-files FuncPath (nth (setq i (1- i)) FuncTypes) 1))
(mapcar
'(lambda (FileNam / FilePath)
(setq FilePath (strcat FuncPath "\\" FileNam))
(if (vl-catch-all-error-p (vl-catch-all-apply'load (list FilePath)));捕捉到了错误
(setq Error (cons FilePath Error))
)
)
FileNamLst
)
)
);加载程序并搜集错误
(if Error ;如果有发生错误
(progn
(princ "\n——★★★ 以下文件未加载成功,请检查! ★★★——")
(foreach xx Error (princ (strcat "\n--> " xx)))
)
)
(princ)
)
用法:
(K:SearchAndLoadFunc "C:\\FuncPath")
沙发啊,好代码,谢谢楼主分享。
页:
[1]