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.
mkdiris 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-
nilmeans 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-filedoes not work for files that are directories; you must usedelete-directoryfor them. If recursive isnil, and the directory contains any files,delete-directorysignals 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-directorygets to them.
delete-directoryonly follows symbolic links at the level of parent directories.If the optional argument trash is non-
niland the variabledelete-by-moving-to-trashis non-nil, this command moves the file into the system Trash instead of deleting it. See Miscellaneous File Operations. When called interactively, trash istif no prefix argument is given, andnilotherwise.