base (version 3.5.1)

Sys.which: Find Full Paths to Executables


This is an interface to the system command which, or to an emulation on Windows.





Character vector of names or paths of possible executables.


A character vector of the same length as names, named by names. The elements are either the full path to the executable or some indication that no executable of that name was found. Typically the indication is "", but this does depend on the OS (and the known exceptions are changed to ""). Missing values in names have missing return values.

On Windows the paths will be short paths (8+3 components, no spaces) with \ as the path delimiter.


The system command which reports on the full path names of an executable (including an executable script) as would be executed by a shell, accepting either absolute paths or looking on the path.

On Windows an ‘executable’ is a file with extension .exe, .com, .cmd or .bat. Such files need not actually be executable, but they are what system tries.

On a Unix-alike the full path to which (usually /usr/bin/which) is found when R is installed.


Run this code
## the first two are likely to exist everywhere
## texi2dvi exists on most Unix-alikes and under MiKTeX
Sys.which(c("ftp", "ping", "texi2dvi", "this-does-not-exist"))
# }

Run the code above in your browser using DataLab