Emacs Lisp: File and Directory Functions
Here's the most useful functions for file and directory.
Functions on File
Basic functions on file and directory.
file-exists-p
rename-file
-
(rename-file "~/test1.txt" "~/test2.txt")
copy-file
-
(copy-file "~/test1.txt" "~/test2.txt")
delete-file
-
(delete-file "~/test2.txt")
set-file-modes
File Size, Date, Owner, etc
file-attributes
-
(file-attributes FILENAME &optional ID-FORMAT)
Return a list of attributes of file FILENAME. e.g.
file-attribute-type
file-attribute-link-number
file-attribute-user-id
file-attribute-group-id
file-attribute-access-time
file-attribute-modification-time
file-attribute-status-change-time
file-attribute-size
file-attribute-modes
file-attribute-inode-number
file-attribute-device-number
see emacs lisp manual
;; get file size in bytes (let ((xfileAttr (file-attributes "~/.emacs.d/init.el"))) (file-attribute-size xfileAttr)) ;; sample value ;; 162
Functions on Directory
directory-files
- List files. [see Emacs Lisp: Walk Directory, List Files]
make-directory
- Create a directory.
delete-directory
-
delete a whole dir. new in emacs 23.
(delete-directory "~/stuff" t)
copy-directory
-
(copy-directory "~/stuff" "~/stuff-backup")