Emacs删除文件夹中没有提示的文件

时间:2012-10-20 03:15:50

标签: function emacs hook delete-file

我正在尝试进行清理功能,我基本上希望它在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)

任何想法如何摆脱“没有这样的文件存在”,或如何只是清理文件夹? 感谢。

1 个答案:

答案 0 :(得分:0)

最简单的方法是在尝试删除文件之前检查文件是否存在:

(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)))