BATCH: Batch Execution of R

Description Usage Arguments Details Note


Run R non-interactively with input from infile and send output (stdout/stderr) to another file.


R CMD BATCH [options] infile [outfile]



the name of a file with R code to be executed.


a list of R command line options, e.g., for setting the amount of memory available and controlling the load/save process. If infile starts with a -, use -- as the final option. The default options are --restore --save --no-readline. (Without --no-readline on Windows.)


the name of a file to which to write output. If not given, the name used is that of infile, with a possible ‘.R’ extension stripped, and ‘.Rout’ appended.


Use R CMD BATCH --help to be reminded of the usage.

By default, the input commands are printed along with the output. To suppress this behavior, add options(echo = FALSE) at the beginning of infile, or use option --slave.

The infile can have end of line marked by LF or CRLF (but not just CR), and files with an incomplete last line (missing end of line (EOL) mark) are processed correctly.

A final expression proc.time() will be executed after the input script unless the latter calls q(runLast = FALSE) or is aborted. This can be suppressed by the option --no-timing.

Additional options can be set by the environment variable R_BATCH_OPTIONS: these come after the default options (see the description of the options argument) and before any options given on the command line.


Unlike Splus BATCH on a Unix-alike, this does not run the R process in the background. In most shells,

R CMD BATCH [options] infile [outfile] &

will do so.

Questions? Problems? Suggestions? or email at

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.