Common Lisp 删除指定路径下的空目录

X3J13移除了一些对路径的操作函数,只保留pathname和directory相关的基本函数,cl-fad实现了路径操作的多数接口。

CL-USER> (ql:quickload "cl-fad")
To load "cl-fad":
  Load 1 ASDF system:
    cl-fad
; Loading "cl-fad"

("cl-fad")
CL-USER> (defun delete-empty-directory (filepath)
	   (cl-fad:walk-directory filepath (lambda (file) 
					     (if (and 
						  (cl-fad:directory-pathname-p file) 
						  (null (cl-fad:list-directory file))) 
						 (progn 
						   (format t "delete ~a~%~%" file)
						   (cl-fad:delete-directory-and-files file)))) 
				  :directories t))
DELETE-EMPTY-DIRECTORY
CL-USER>

在“d:/迅雷下载”目录下新建aaaa空目录,然后执行一下语句:

CL-USER> (delete-empty-directory "d:/迅雷下载")
delete d:/迅雷下载/aaaaaa/

 

转载于:https://my.oschina.net/u/1011760/blog/3015292

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值