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 creates an empty file named filename. As make-directory
, this command creates parent directories if parents is non-nil
. If filename already exists, this command signals an error.
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 use delete-directory
for them. If recursive is nil
, 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 before delete-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 variable delete-by-moving-to-trash
is non-nil
, this 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 t
if no prefix argument is given, and nil
otherwise.
Copyright © 1990-1996, 1998-2019 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Create_002fDelete-Dirs.html