2

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

知道如何摆脱“不存在这样的文件”,或者如何清理文件夹吗?谢谢。

4

1 回答 1

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)))
于 2012-10-20T03:24:22.020 回答