files {base}R Documentation

File and Directory Manipulation


These functions provide a low-level interface to the computer's file system.


file.rename(from, to)
file.append(file1, file2)
file.copy(from, to, overwrite = FALSE)
file.symlink(from, to)
dir.create(path, showWarnings = TRUE, recursive = FALSE)


..., file1, file2, from, to character vectors, containing file names.
path a character vector containing a single path name.
overwrite logical; should the destination files be overwritten?
showWarnings logical; should the warnings on failure be shown?
recursive logical: should elements of the path other than the last be created? If true, like Unix's mkdir -p.


The ... arguments are concatenated to form one character string: you can specify the files separately or as one vector. All of these functions expand path names: see path.expand.

file.create creates files with the given names if they do not already exist and truncates them if they do.

file.exists returns a logical vector indicating whether the files named by its argument exist.

file.remove attempts to remove the files named in its argument.

file.rename attempts to rename a single file. On Windows 9x/ME rename is not atomic, so it is possible that to will be deleted but from will not be renamed.

file.append attempts to append the files named by its second argument to those named by its first. The R subscript recycling rule is used to align names given in vectors of different lengths.

file.copy works in a similar way to file.append but with the arguments in the natural order for copying. Copying to existing destination files is skipped unless overwrite = TRUE. The to argument can specify a single existing directory.

file.symlink makes symbolic links on those Unix-like platforms which support them. The to argument can specify a single existing directory.

dir.create creates the last element of the path, unless recursive = TRUE.


dir.create and file.rename return a logical, true for success.
The remaining functions return a logical vector indicating which operation succeeded for each of the files attempted.
dir.create will return failure if the directory already exists.


Ross Ihaka, Brian Ripley

See Also, file.access, file.path,, list.files, unlink, basename, path.expand.


cat("file A\n", file="A")
cat("file B\n", file="B")
file.append("A", "B")
file.append("A", rep("B", 10))
file.copy("A", "C")
file.copy(c("A", "B"), "tmp")
unlink("tmp", recursive=TRUE)
file.remove("A", "B", "C")

[Package base version 2.1.0 Index]