[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