[R] Capturing output from external executables, in windows

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


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.

Thanks in advance,

Darren

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