本帖最后由 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")
|