2012-10-20 24 views
2

我正在嘗試進行清理功能,我基本上只想在emacs結束時刪除文件夾中的所有文件。我已經解決了編寫單個文件名的問題,但是,當文件不存在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) 

任何想法如何擺脫「不存在這樣的文件」,或者如何做到清理文件夾? 謝謝。

回答

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))) 
+0

這是一個參數文件名中的特殊情況,或者它可能已調用別的東西像(defun定義我,刪除(東西)...... – PascalVKooten

+0

怎麼辦?你工作那個變量? – PascalVKooten

+0

是的,它可以被稱爲'my-delete'中的任何東西f結。 –

相關問題