This help topic is for R version 1.5.0. For the current version of R, try https://stat.ethz.ch/R-manual/R-patched/library/base/html/system.html
system {base}R Documentation

Invoke a System Command

Description

system invokes the system command specified by command.

Usage

system(command, intern = FALSE, wait = TRUE, input = "",
       show.output.on.console = FALSE,
       minimized = FALSE, invisible = FALSE)

Arguments

command

the system command to be invoked, as a string.

intern

a logical, indicates whether to make the output of the command an R object.

wait

should the R interpreter wait for the command to finish? The default is to wait, and the interpreter will always wait if intern = TRUE.

input

if a character vector is supplied, this is copied one string per line to a temporary file, and the standard input of command is redirected to the file.

show.output.on.console

a logical, indicates whether to capture the output of the command and show it on the R console (not used by Rterm, which captures the output unless wait is false).

minimized

a logical, indicates whether the command window should be initially displayed as a minimized window.

invisible

a logical, indicates whether the command window should be visible on the screen.

Details

cmd is parsed as a command plus arguments separated by spaces. So if the path to the command contains spaces, it must be quoted. See the examples.

The command is run directly as a Windows command by the Windows API call CreateProcess: extensions of .exe, .com, .cmd and .bat are tried in turn if none is supplied. (To use DOS internal commands use command.com /c cmd under Windows 9X/ME.) The search path for command may be system-dependent: it will include the R bin directory, the working directory and the Windows system directories before PATH.

Precisely what is seen by the user depends on whether Rgui or Rterm is being used. For Rgui a new console will always be used, so a commands window will appear for the duration of console applications unless invisible is true. For Rterm a separate commands window will appear for console applications only if wait = FALSE.

unix is a deprecated alternative, available for backwards compatibility.

Value

If intern = TRUE, a character vector giving the output of the command, one line per character string. If the command could not be run or gives an error a R error is generated.

If intern = FALSE, the return value is a error code, given the invisible attribute (so needs to be printed explicitly). If the command could not be run for any reason, the value is -1 and an R warning is generated. Otherwise if wait = FALSE the value is the error code returned by the command, and if wait = TRUE it is the zero (the conventional success value),

If intern = FALSE and show.output.on.console = TRUE the text output from a command that is a console application will appear in the R console (Rgui) or the window running R (Rterm).

WARNING

The command cannot be interrupted by the R process.

Do not run console applications that require user input from Rgui setting intern = TRUE and/or show.output.on.console = TRUE. They will not work, may hang and then will probably hang Rgui too.

Author(s)

Guido Masarotto and Brian Ripley

See Also

shell for a less raw interface.

Examples

# launch an editor, wait for it to quit
## Not run: system("notepad myfile.txt")
# launch a Windows 9x process monitor (from Win9x KernelToys)
## Not run: system("wintop", wait = FALSE)
# launch your favourite (!) shell: 
## Not run: system("command.com")
## Not run: 
system(paste('"c:/Program Files/Netscape/Netscape 6/netscp6.exe"',
             '-url cran.r-project.org'), wait = FALSE)
## End(Not run)

[Package base version 1.5.0 ]