unlink
deletes the file(s) or directories specified by x
.
unlink(x, recursive = FALSE, force = FALSE)
a character vector with the names of the file(s) or
directories to be deleted.
Wildcards (normally *
and ?
) are allowed.
logical. Should directories be deleted recursively?
logical. Should permissions be changed (if possible) to allow the file or directory to be removed?
0
for success, 1
for failure, invisibly.
Not deleting a non-existent file is not a failure, nor is being unable
to delete a directory if recursive = FALSE
. However, missing
values in x
are regarded as failures.
Tilde-expansion (see path.expand
) is done on x
.
If recursive = FALSE
directories are not deleted,
not even empty ones.
On most platforms ‘file’ includes symbolic links, fifos and
sockets. unlink(x, recursive = TRUE)
deletes the just symbolic link if the target of such a link is a directory.
Wildcard expansion is done by the internal code of
Sys.glob
. Wildcards never match a leading .
in
the filename, and files .
and ..
will never be
considered for deletion.
Wildcards will only be expanded if the system supports it. Most
systems will support not only *
and ?
but also character
classes such as [a-z]
(see the man
pages for the system
call glob
on your OS). The metacharacters * ? [
can
occur in Unix filenames, and this makes it difficult to use
unlink
to delete such files (see file.remove
),
although escaping the metacharacters by backslashes usually works. If
a metacharacter matches nothing it is considered as a literal
character.
recursive = TRUE
might not be supported on all platforms, when it
will be ignored, with a warning: however there are no known current
examples.
Character classes such as [a-z]
are supported. The
metacharacter [
can occur in Windows filenames, and this makes
it difficult to use unlink
to delete such files (see
file.remove
). If a wildcard matches
nothing it is considered as a literal character.
Windows cannot remove the current working directory, nor any file which is open nor any directory containing such a file.
UTF-8-encoded paths not valid in the current locale can be used.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.