重命名当前打开的文件
大家好!我需要一个lisp来重命名当前打开的文件。我已经有了一个例程,它接受当前文件名并用新文件名创建一个字符串(旧名称中只有六个数字需要更改)。。。但是我不能把旧名字换成新名字。我曾尝试使用(Vl文件重命名),但我认为我没有正确使用它。。。。代码如下:
(定义C:更改名称(n1 n2 n3 n4 n5 n6)
(setq new_编号(strcat(itoa n1))
(itoa n2)
(itoa n3)
(itoa n4)
(itoa n5)
(itoa n6)))
(setq old_名称(strcat(getvar“DWGPREFIX”)(getvar“DWGNAME”))
(setq大小(strlen old_name))
(setq最终(-尺寸18));
(setq start\u name(substr old\u name 1 final))
(setq end_名称(substr old_名称(+final 7)(-size final)))
(setq new_name(strcat start_name new_number end_name))
(警报旧名称)
(警报新名称)
(vl文件重命名old\u name new\u name)
); 结束defun
旧名称为:D:\Profiles\s-Andre。Almeida\Desktop\Autocad\3-157941-012-005。图纸
例如,新名称可以是:D:\Profiles\s-Andre。Almeida\Desktop\Autocad\3-666666-012-005。图纸
我只需要用(vl文件重命名)更改名称
有人能帮我吗? 您确定可以重命名当前打开的文件吗? 我怀疑你能在文件打开时重命名它。为什么不选择在新文件名下执行“另存为”? 请阅读代码发布指南并编辑您的帖子,将代码包含在代码标签中。
Your Code Here=
Your Code Here 在这里:
(setq end_名称(substr old_名称(+final 7)(-size final)))
(-size final)足够了。。。您可以使用:
(setq end_名称(substr old_名称(+最后7))) 嗯。。。
我想我可以重命名打开的文件,但我会使用“另存为”这样。。。谢谢大家!
页:
[1]