Most Emacs Lisp file-manipulation functions get errors when used on
files that are directories. For example, you cannot delete a directory
with delete-file
. These special functions exist to create and
delete directories.
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 is a directory name, dirname will be copied to a subdirectory there. See Directory Names.
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 keep-time non-nil
.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 a directory name, 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 must usedelete-directory
for them. If recursive isnil
, and the directory contains any files,delete-directory
signals an error. If recursive is non-nil
, there is no error merely because the directory or its files are deleted by some other process beforedelete-directory
gets to them.
delete-directory
only follows symbolic links at the level of parent directories.If the optional argument trash is non-
nil
and the variabledelete-by-moving-to-trash
is non-nil
, this command moves the file into the system Trash instead of deleting it. See Miscellaneous File Operations. When called interactively, trash ist
if no prefix argument is given, andnil
otherwise.