Here's one I wrote, very dirty and very simple but does what I need it to.
;;;
;;; TITLE:moddwg.lsp
;;;
;;; Copyright (C) 2005 by Andy Hudson
;;;
;;; Permission to use, copy, modify, and distribute this
;;; software and its documentation for any purpose and without
;;; fee is hereby granted
;;;
;;; THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR
;;; IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY
;;; PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY
;;; DISCLAIMED.
;;;
;;; Andy Hudson
;;; April 2005
;;;
;;;-------------------------------------------------------------
;;; Description:
;;;
;;; Routine to make modifying a drawing comply with company
;;; Standards the routine Moves the file to a Mods folder to
;;; ensure only current drawings remain in the current folder
;;;
;;;
;;;-------------------------------------------------------------
;;; COMMAND
;;; moddwg
;;;-------------------------------------------------------------
;;;
;;error checker from www.afralisp.com
;;;
(LOAD "R:/DWG/aids/blocks/rybka_blocks/lisps/ERROR.LSP")
;;
(defun c:moddwg (/ oldname olddir oldrev newrev newname newdir origfile combined)
;;change filename to show new revision
(setq oldname (getvar "dwgname")
olddir (getvar "dwgprefix")
oldrev (getstring T "\nEnter Drawing number and current revision: ")
newrev (Getstring T "\nEnter drawing number and New Revision: ")
newname (vl-string-subst newrev oldrev oldname)
newdir (strcat olddir "Mods\\")
origfile (STRCAT olddir oldname))
;;;COMBINE INFORMATION
(SETQ combined (STRCAT newdir newname))
;;MAKE MODS FOLDER
(if (not (member "Mods" (vl-directory-files (getvar "dwgprefix") nil -1)))
(vl-mkdir (strcat (getvar "dwgprefix") "Mods")))
;;check if file exists
(if (findfile combined)
(alert (strcat "File " combined " already exists In Mods Folder! "))
(progn);progn
);if
;;SAVE DRAWING
(COMMAND "_.SAVEAS" "" combined)
;;DELETE THE OLD FILE
(VL-FILE-DELETE ORIGFILE)
(princ)
)
(prompt "\nModify Drawing Lisp Loaded, enter moddwg to run.")
(princ)