利用lisp批量插入文件的问题
本帖最后由 pzweng 于 2024-5-31 10:37 编辑想把一个文件夹里的dwg合并到一个DWG文档里,发现文件名有问题,(findfile name) 返回nil
不知道如何通过lisp能实现,在此寻求大家的帮助
附上两个dwg文档
奇怪了,直接上传dwg附件文件名会变,我打包上传了
命令: (setq fs1 (cadr fs))
"2205014-A000-05A?框架.DWG"
命令: (vl-string->listfs1)
(50 50 48 53 48 49 52 45 65 48 48 48 45 48 53 65 63 191 242 188 220 46 68 87 71)
命令: (vl-string->list"2205014-A000-05A?框架.DWG")
(50 50 48 53 48 49 52 45 65 48 48 48 45 48 53 65 63 191 242 188 220 46 68 87 71)
命令: (vl-string->list"?")
(63)
命令: (vl-string->list" ")
(32)
这个就是个非法文件名 liuhe 发表于 2024-5-31 09:50
name是完整文件路径,不是文件名
(setq pf (getfiled "选取文件" "*" "dwg" 8))
(setq path (car (fnsplitl pf)))
(setq fs (vl-directory-files path (strcat "*." "dwg") 1))
(findfile (strcat path (car fs)));这里返回nil 黄翔 发表于 2024-5-31 12:27
命令: (setq fs1 (cadr fs))
"2205014-A000-05A?框架.DWG"
命令: (vl-string->listfs1)
insert命令却可以插入,现在是在寻求解决办法,问题是已知道了 name是完整文件路径,不是文件名 (strcat path (car fs))是不是要改成
(strcat path "\\" (car fs))要看你的路径后面带不带"\\" 黄翔 发表于 2024-5-31 10:08
(strcat path (car fs))是不是要改成
(strcat path "\\" (car fs))要看你的路径后面带不带"\\"
不是这个问题,是文件名的问题 有啥问题一切正常. 文件名中有空格?? 自贡黄明儒 发表于 2024-5-31 10:23
文件名中有空格??
还不是空格,用insert插入后获取得到是块名有“?"号,这是这个符号导致无法用lisp实现 黄翔 发表于 2024-5-31 10:23
有啥问题一切正常.
你改了文件名吧,我把文件名复制到vlide里是这样的:
2205014-B000-01A?框架.DWG
里面有个问号 黄翔 发表于 2024-5-31 10:23
有啥问题一切正常.
不好意思,直接上传DWG会改掉文件名,我打包上传了,烦请再次下次
页:
[1]
2