我正在尝试一个清理功能,当emacs结束时,我希望它只删除文件夹中的所有文件。但是,当文件不存在Emacs错误(并且实际上不允许我退出)时,我已经满足于写入单个文件名。
(defun delete-Navi-empty-files ()
(delete-file "/emacs-24.1/.emacs.d/Navi-empty/empty_flymake.tex" nil)
(delete-file "/emacs-24.1/.emacs.d/Navi-empty/empty_flymake.log" nil)
)
(add-hook 'kill-emacs-hook 'delete-Navi-empty-files)
有没有办法摆脱“不存在这样的文件”,或者如何清理一个文件夹?谢谢。
发布于 2012-10-20 11:24:22
最简单的做法是在尝试删除文件之前检查该文件是否存在:
(when (file-exists-p filename) (delete-file filename))
由于看起来您将重复使用它,因此将其封装在一个函数中可能是有意义的:
(defun my-delete (filename)
"If the given file exists, delete it; otherwise do nothing."
(when (file-exists-p filename) (delete-file filename)))
https://stackoverflow.com/questions/12984931
复制相似问题