[R] Capturing output from external executables, in windows

Darren Obbard darren.obbard at ed.ac.uk
Wed Jan 24 14:22:10 CET 2007


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")

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")

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.

Thanks in advance,


Darren.Obbard at ed.ac.uk


Darren Obbard
Institute of Evolutionary Biology
Ashworth Labs
Kings Buildings
University of Edinburgh, UK

More information about the R-help mailing list