如何删除常见的lisp中的目录

时间:2014-06-22 10:07:32

标签: directory common-lisp

要删除Common Lisp中的文件,我可以这样做:

(delete-file "c:\\path\\to\\file")

但由于某种原因,我无法找到如何删除目录。没有delete-directory,当我将目录路径传递给delete-file时,我得到:

couldn't delete c:\path\to\folder: Unknown error
   [Condition of type SB-INT:SIMPLE-FILE-ERROR]

谷歌搜索也没有帮助。

我在Windows上使用Steel Banks Common Lisp,使用Lispstick安装。

3 个答案:

答案 0 :(得分:5)

Uiop附带ASDF 3,并且delete-empty-directorydelete-directory-tree

请使用这种包装库来实现可移植性。

答案 1 :(得分:3)

common lisp delete directory的Google立即向我建议cl-fad。我想它可能有用(但我从未尝试过)

答案 2 :(得分:0)

我自己找到了解决方案。我查看了source code of cl-fad(在其他答案中提到),并且看到它基本上为不同的Common Lisp实现使用了不同的扩展。由于我使用Steel Banks Common Lisp,我的解决方案是:

(sb-ext:delete-directory "c:\\path\\to\\folder\\")

对于大多数其他实现,您基本上必须将sb-ext替换为相关实现的扩展包的名称。