在这里,您可以调试它:眨眼::眨眼:
- (defun c:BindIt (/)
- ;; CAB 10/07/08
- ;; (splitdirs "c:\\123\\456\\789") returns ("c:" "123" "456" "789")
- (defun splitdirs (str / lst pos)
- (while (or (setq pos (vl-string-search "\" str))
- (setq pos (vl-string-search "/" str)))
- (setq lst (cons (substr str 1 pos) lst)
- str (substr str (+ pos 2))))
- (if (> (strlen str) 0) (setq lst (cons str lst)))
- (reverse lst)
- )
- (setq vDia (getvar "filedia")
- vEcho (getvar "cmdecho")
- vPrefix (getvar "dwgprefix")
- vName (getvar "dwgname")
- vDate (rtos (getvar "cdate") 2 6)
- vYear (substr vDate 1 4)
- vMonth (substr vDate 5 2)
- vDay (substr vDate 7 2)
- vDateStr (strcat vYear "-" vMonth "-" vDay)
- )
- ;; remove the last 2 dirs
- (setq lst (reverse (cddr (reverse (splitdirs vPrefix)))))
- (setq vPrefix "")
- (mapcar '(lambda(x) (setq vPrefix (strcat vPrefix x "\"))) lst)
-
- (setvar "filedia" 0)
- (setvar "cmdecho" 0)
- (initget "Bound Email")
- (setq vDir (getkword "\nSave file to [Email/Bound] <Bound>: "))
- (cond
- ((or (null vDir)(= "Bound" vAns))
- (setq vDir (strcat vPrefix "Bound"))
- )
- (t
- (setq vDir (strcat vPrefix "Email"))
- )
- )
- (cond
- ((and (null (vl-file-directory-p vDir))
- (null (vl-mkdir vDir))
- )
- (prompt "\nError - Could not create Folder.")
- )
- (t ; folder exist
- (command ".saveas" "" (strcat vDir "\" vDateStr "-" vName))
- )
- )
-
- (setvar "filedia" vDia)
- (setvar "cmdecho" vEcho)
- (princ)
- )
|