Most Emacs Lisp file-manipulation functions get errors when used on
files that are directories. For example, you cannot delete a directory
delete-file. These special functions exist to create and
This command creates a directory named dirname. If
parents is non-
nil, as is always the case in an
interactive call, that means to create the parent directories first,
if they don’t already exist.
mkdir is an alias for this.
This command copies the directory named dirname to newname. If newname names an existing directory, dirname will be copied to a subdirectory there.
It always sets the file modes of the copied files to match the corresponding original file.
The third argument keep-time non-
nil means to preserve the
modification time of the copied files. A prefix arg makes
The fourth argument parents says whether to create parent directories if they don’t exist. Interactively, this happens by default.
The fifth argument copy-contents, if non-
nil, means to
copy the contents of dirname directly into newname if the
latter is an existing directory, instead of copying dirname into
it as a subdirectory.
This command deletes the directory named dirname. The function
delete-file does not work for files that are directories; you
delete-directory for them. If recursive is
nil, and the directory contains any files,
delete-directory signals an error.
delete-directory only follows symbolic links at the level of
If the optional argument trash is non-
nil and the
delete-by-moving-to-trash is non-
command moves the file into the system Trash instead of deleting it.
See Miscellaneous File Operations in The GNU
Emacs Manual. When called interactively, trash is
no prefix argument is given, and