要删除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安装的。
发布于 2014-06-23 03:47:49
Uiop
自带ASDF3,并具有delete-empty-directory
和delete-directory-tree
。
为了便于移植,请务必使用这种包装库。
发布于 2014-06-22 18:17:11
谷歌和common lisp delete directory
建议我立即cl-fad。我想它可能会很有用(但我从未尝试过)
发布于 2014-06-22 18:37:33
我自己找到了解决方案。我查看了source code of cl-fad (在其他答案中提到),发现它基本上为不同的Common Lisp实现使用了不同的扩展。因为我使用的是Steel Banks Common Lisp,所以我的解决方案是:
(sb-ext:delete-directory "c:\\path\\to\\folder\\")
对于大多数其他实现,您基本上必须将sb-ext
替换为相关实现的扩展包的名称。
https://stackoverflow.com/questions/24350183
复制相似问题