要删除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安装。
答案 0 :(得分:5)
Uiop
附带ASDF 3,并且delete-empty-directory
和delete-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
替换为相关实现的扩展包的名称。