2

我写了一个替代函数来打开 AutoCAD 图纸。但是,当从 Windows 资源管理器运行文档时,AutoCAD 很难更改文档的打开方式(双击具有文件关联的文件)。我发现的唯一方法是更改​​注册表项“OpenDdeExec”。提供的参数 (%1) 为我提供了要打开的文件的非转义路径。

在将其解析为特殊字符之前,我需要忽略路径中的转义或用双反斜杠替换反斜杠。在 C# 中,您可以执行类似的操作string s = @"I\Like random\backslashes";,反斜杠将被视为实际的反斜杠字符。在 lisp 中,我发现的唯一等价物是quote它具有奇怪的行为(因为它的正常使用并不完全是我想要实现的)。

如果我写类似的东西(quote (I\Like random\backslashes)),结果将是(I\\Like random\\backslashes)我所需要的。但是,我必须摆脱括号。知道我怎么能做到这一点吗?

注意:这样做(quote I\Like random\backslashes)会因空间而中断。但是,它可以在(quote I\Like\backslashes). 这会I\\Like\\backslashes像我想要的那样输出。

这是当前具有所述问题的 OpenDdeExec:

(OPENFROMSHELL (QUOTE (%1)))
4

1 回答 1

0

遗憾的是,AutoCAD 有限的 LISP 无法做到这一点。

于 2012-10-15T13:45:36.840 回答