[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