blob: 0bf44bc5344fac37645df56b796102aaff6d3d56 [file] [log] [blame]
% File src/library/utils/man/choose.files.Rd
% Part of the R package, https://www.R-project.org
% Copyright 1995-2018 R Core Team
% Distributed under GPL 2 or later
\name{choose.files}
\alias{choose.files}
\alias{Filters}
\title{Choose a List of Files Interactively on MS Windows}
\description{
Use a Windows file dialog to choose a list of zero or more files
interactively.
}
\usage{
choose.files(default = "", caption = "Select files",
multi = TRUE, filters = Filters,
index = nrow(Filters))
Filters
}
\arguments{
\item{default}{which filename to show initially}
\item{caption}{the caption on the file selection dialog}
\item{multi}{whether to allow multiple files to be selected}
\item{filters}{a matrix of filename filters (see Details)}
\item{index}{which row of filters to use by default}
}
\value{
A character vector giving zero or more file paths.
}
\details{
Unlike \code{\link{file.choose}}, \code{choose.files} will always
attempt to return a character vector giving a list of files. If the
user cancels the dialog, then zero files are returned, whereas
\code{\link{file.choose}} would signal an error. \code{choose.dir}
chooses a directory.
Windows file dialog boxes include a list of \sQuote{filters}, which allow
the file selection to be limited to files of specific types.
The \code{filters} argument to \code{choose.files} allows the list
of filters to be set. It should be an \code{n} by \code{2} character
matrix. The first column gives, for each filter, the description the
user will see, while the second column gives the mask(s) to select
those files. If more than one mask is used, separate them by
semicolons, with no spaces. The \code{index} argument chooses which
filter will be used initially.
\code{Filters} is a matrix giving the descriptions and masks for
the file types that \R knows about. Print it to see typical formats
for filter specifications. The examples below show how particular
filters may be selected.
If you would like to display files in a particular directory,
give a fully qualified file mask (e.g., \code{"c:\\\\*.*"})
in the \code{default} argument. If a directory is not given, the
dialog will start in the current directory the first time, and
remember the last directory used on subsequent invocations.
There is a buffer limit on the total length of the selected filenames:
it is large but this function is not intended to select thousands of
files, when the limit might be reached.
}
\note{
This is only available on Windows.
}
\seealso{
\code{\link{file.choose}}, \code{\link{choose.dir}}.
\code{\link{Sys.glob}} or \code{\link{list.files}} to select multiple
files by pattern.
}
\examples{
if (interactive() && .Platform$OS.type == "windows")
choose.files(filters = Filters[c("zip", "All"),])
}
\keyword{file}