【请教】如何实现图形文件名加前后缀
本帖最后由 illcyt 于 2013-11-7 21:10 编辑做设计改图是难免的,对于文件管理是十分重要的,实时确保更新文件能够被快速的找到的一个好办法是用时间去命名文件,也确实有大师写过这样的程序【存为今天】,程序执行可达到
1、在图纸路径下新建文件夹“bak”
2、将当前图纸拷贝一份至bak
3、原文件的文件名加上以今天日期作为后缀
下图为作者演示效果:
执行前:
执行后:
但是由于有时候文件名比较长,上述程序添加日期后往往显示不出来,默认为此处省略xx字如下图所示:
由于水平有限,故来请教各位大侠,能否自定义给一个图形文件加前后缀,这样对于查看就方便不少,或给出实现这一个功能的思路,非常感谢!
以下为【存为今天】---【它山之石作品】供大家参考:默认解压密码:www.tstmr.com
为什么不能考虑给你的文件夹加一个后缀,把文件存到那里去?这样也相当于备份了,也不至于文件名长得太离谱? (vl-file-renameold-filename new-filename)
自贡黄明儒 发表于 2013-11-8 09:52 static/image/common/back.gif
(vl-file-renameold-filename new-filename)
(vl-file-renameold-filename new-filename)的方法试了一下,并不能改正在打开的图纸
对于未打开或为未被占用的图纸是可以执行操作的
如何实现能对当前打开的图纸进行操作呢。。
感觉是save as illcyt 发表于 2013-11-8 10:54 static/image/common/back.gif
(vl-file-renameold-filename new-filename)的方法试了一下,并不能改正在打开的图纸
对于未打开或为 ...
你是对的,但那个可以批量改名 自贡黄明儒 发表于 2013-11-8 10:57 static/image/common/back.gif
你是对的,但那个可以批量改名
按照saves as的思路简单写了个,可以实现加上日期做前缀
(vl-load-com)
(defun Test_Save_today ( / old_filename new_filename new_Path cmdecho_bak FILEDIA_bak)
(setq old_filename (getvar "dwgname"))
(setq new_filename(strcat "["(menucmd "M=$(edtime,$(getvar,date),YYYY.MO.DD)") "]" old_filename ))
(setq new_Path (strcat (getvar "DWGPREFIX") new_filename))
(setq cmdecho_bak (getvar "cmdecho"))
(setq FILEDIA_bak (getvar "FILEDIA"))
(setvar "cmdecho" 0)
(setvar "FILEDIA" 0)
(command "_saveas" "" new_Path)
(setvar "cmdecho" cmdecho_bak)
(setvar "FILEDIA" FILEDIA_bak)
(princ"\n图形按日期命名成功!")
(princ)
)
谢谢众位坛友代码分享! illcyt 发表于 2013-11-8 11:49
按照saves as的思路简单写了个,可以实现加上日期做前缀
大哥,你这个保存第二次,时间会一直重叠
页:
[1]