乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 55|回复: 3

[编程交流] 批量清洗。

[复制链接]

55

主题

243

帖子

188

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
275
发表于 2022-7-6 12:50:33 | 显示全部楼层 |阅读模式
嗨,我有一些代码,我想批量清除图形,使用doslib函数。
它不起作用,中途停了下来。我想可能还有更多
不止一个错误。有人能修一下吗?
 
ps我想保留doslib函数谢谢
 
  1. (defun c:BatchPurge
  2.       (/ UserFile UserCat  DirPath FileList File#1 DwgName FileName)
  3. (vl-load-com)
  4. (setq DirPathdefault (getvar "dwgprefix"));Current folder
  5. (setq DirPath (dos_getdir "Browse for a Drawing folder"
  6.      DirPathdefault      "Select a folder to clean drawing files")
  7. )
  8. (if (= DirPath nil)
  9. (exit)
  10. (setq DwgLst (vl-directory-files DirPath "*.dwg" 1));list of drawings in folder
  11. );if  
  12. ;Create list of all *.dwg files in selected Directory  
  13. (setq DwgtoCleanLst(dos_multilist "Select Files" "Select which Drawings to purge." DwgLst));list of drawings selected
  14. (setq File#1 (open "c:/Documents and Settings//rxbeeto0//BatchClean.scr" "w"))
  15. ;; open/make a scriptfile to write to
  16. (foreach DwgName DwgtoCleanLst
  17.    (setq FileName (strcat """ DirPathdefault "\" DwgName """))
  18.    (princ "open\n" FileName)
  19.    (princ (strcat FileName "\n") FileName)
  20.        (princ "purge\n" File#1)
  21.    (princ "all\n\n" File#1)
  22.    (princ "_.qsave\n" FileName)
  23.    (princ "_.close\n" FileName)
  24. )
  25. (close FileName)
  26. (command "script" "C:\\Documents and Settings\\rxbeeto0\\BatchClean.scr")
  27. (princ)
  28. );defun
回复

使用道具 举报

55

主题

243

帖子

188

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
275
发表于 2022-7-6 13:15:23 | 显示全部楼层
谢谢-但它仍然不起作用。
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-6 13:31:27 | 显示全部楼层
我知道你想坚持doslib,但我没有。。这是我第一次开始编写代码时收集的东西(我对“丑陋”的免责声明)。它很适合我很多年。
 
[code](defun c:批(/$value choice dir dwglist file fn fno id sel w x)(if(and(setq dir(getfield“Select A Drawing file”(getvar“dwgprefix)”dwg))(setq dir(vl filename dir))(setq dwglist(mapcar)(lambda(x)(strcase(strcat dir’\\”x)t))(vl directory files dir“*.dwg”)(setq dwglist(vl sort dwglist)
回复

使用道具 举报

55

主题

243

帖子

188

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
275
发表于 2022-7-6 14:10:30 | 显示全部楼层
嘿,谢谢Ronjonp分享那段有趣的代码。它工作得很好。
然而,我仍然希望使我的代码与doslib函数一起工作。
有什么想法吗?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-5 03:00 , Processed in 0.490631 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表