[R] Capturing output from external executables, in windows

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed Jan 24 15:44:28 CET 2007

Is this for RGui under Windows?  I will assume so (but 'in windows' is not 
unambiguous, and there are alternative front-ends like Rterm).

Have you consulted the help page for system()?: this is precisely what 
'show.output.on.console' is for.

You cannot redirect in system (it does say so on the current help page): 
you need to use shell().

On Wed, 24 Jan 2007, Darren Obbard wrote:

> Hi,
> Any help on the following would be much appreciated
> I wish to capture the output (currently going to console) from an
> external executable.
> The executable is successfully run using
>     system("program -switch ")
> and the output printed to the DOS console.
> How do I capture this output? I have tried redirecting the output to a
> text file, and then reading this in
>     system("program -switch > textfile.txt")
>     data<-scan("textfile.txt")
> But this does not seem to work (the textfile.txt is not written). It
> does however work if I invoke the console to be permanent
>     system("cmd /K program -switch > textfile.txt")
>     data<-scan("textfile.txt")
> Unfortunately, this leaves me with an open console window I have to
> close manually.
> Is there a way of doing this (under windows) using system( ) or some
> other command? It appears that pipe( ) may do it, but I cannot
> understand the documentation.
> An example of the appropriate syntax would be an enormous help.

system("program -switch ", show.output.on.console=TRUE)

could it be any easier?  (Well, in the next version of R that will be 
default, so a little.)

> Thanks in advance,
> Darren
> Darren.Obbard at ed.ac.uk

Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

More information about the R-help mailing list