明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: zzsong

[求助]求一程序,自动打开文件夹下所有文件,并执行图形清理、缩放和保存命令(已解

    [复制链接]
发表于 2013-4-8 13:54:45 | 显示全部楼层
不知道什么原因,好像没有清理干净。
发表于 2013-4-8 15:08:14 | 显示全部楼层

(defun c:test(/ FILE_LIST FOLD SF SFF RunNow)
(vl-load-com)
(defun GetFileList (dirName / files lst)
(defun path-addBackSlash (path)
(if (not (member (substr path (strlen path)) '("\\" "/")))
(strcat path "\\")
path
)
)
(setq dirName (path-addBackSlash dirName)
files (mapcar '(lambda (x) (strcat dirName x))
(vl-directory-files dirName "*.dwg" 1)
)
)
(mapcar '(lambda (x)
(setq lst (append lst (GetFileList (strcat dirName x))))
)
(vl-remove-if
'(lambda (x) (member x '("." "..")))
(vl-directory-files dirName nil -1)
)
)
(append files lst)
)
;; 用法:(qf_getFolder msg)
;; 例子:(qf_getFolder "选择文件夹:")
;; 返回值:字符串,文件夹路径,如果点了cancel, 返回nil
(defun qf_getFolder (msg / WinShell shFolder path catchit)
(vl-load-com)
(setq winshell (vlax-create-object "Shell.Application"))
(setq shFolder (vlax-invoke-method WinShell 'BrowseForFolder 0 msg 1))
(setq
catchit (vl-catch-all-apply
'(lambda ()
(setq shFolder (vlax-get-property shFolder 'self))
(setq path (vlax-get-property shFolder 'path))
)
)
)
(if (vl-catch-all-error-p catchit)
nil
path
)
)
(setq fold (qf_getFolder "选择文件所在目录:"))
(if fold
(progn
(setq file_list (GetFileList fold))
(if file_list
(progn
(setq sf (strcat (getvar "TEMPPREFIX") "批处理文件20100806.scr"))
(setq sff (open sf "w"))
(mapcar '(lambda (x)
(princ (strcat "open \"" x "\"\n"  "-purge all * n zoom e qsave close\n") sff);;;;;加了清理
)
file_list
)
(close sff)
(princ (strcat "\n目录下" fold "\n\t共有DWG文件数: " (itoa (length file_list))))
(initget "Y N")
(setq RunNow (getkword "\n是否立刻执行[是(Y)/否(N)]:<否>"))
(if (= RunNow "Y")
(progn
   (command "._script" sf)
   (princ "\n处理完成")
)
  (princ "\n放弃立刻执行")
  )
)
(princ "\n目录下没有DWG文件")
)
)
(princ "\n请选择目录")
)
(princ)
)
发表于 2013-4-8 15:09:00 | 显示全部楼层
在原来的基础上,加了清理,
发表于 2014-9-25 22:01:39 | 显示全部楼层
为什么真么刁难我?!为何?
发表于 2014-10-6 00:59:10 | 显示全部楼层
不错的程序,能够节约大量时间!
发表于 2015-5-4 22:21:10 | 显示全部楼层
mark  楼主我想求源代码!多谢啦
发表于 2015-10-10 11:37:04 | 显示全部楼层
这个应该会用到,先标记一个!
发表于 2015-12-12 18:33:26 | 显示全部楼层
强大的程序。强大的楼主
发表于 2018-7-1 20:42:03 | 显示全部楼层
好好好好好好好好,就是看不到
发表于 2018-7-3 23:58:32 | 显示全部楼层
学习下!文件夹读取文件的操作!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-4-3 18:04 , Processed in 0.168463 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表