[R] capturing output from Win 98 shell

Uwe Ligges ligges at statistik.uni-dortmund.de
Tue Aug 12 17:21:34 CEST 2003


Simon Fear wrote:
> Uwe, you suggest
> 
> 
>>So you almost got it, just read ?shell carefully enough:
>>
>>  filenames <- shell("dir D:\\tmp\\*.sasb7dat /b", intern = TRUE)
>>
> 
> 
> Unfortunately, this does not work and is why I wrote to Rhelp (OK I used
> system instead of shell, but I tried shell first); here filenames is
> assigned
> character(0) even though the dir output is not empty.

(sure about "intern = TRUE" ?)

Hmmm. It works on WinNT, and I cannot check a DOS based OS like Win98, 
because we don't have any of those DOS based operating systems in our 
department.


> Believe me I did read ?shell many times before I wrote: but I am
> reporting
> that shell does not do what ?shell says it should.
> 
> 
>>or even better in this case:
>>
>>  filenames <- list.files("d:/tmp", pattern = "sasb7dat")
>>
> 
> 
> THANK YOU! I'm always forgetting about file.* and friends. Platform
> independent too.
> 
> Still leaves me asking the bigger question though: how do I capture DOS
> command output in general?

Or, to come back to Peter's suggestion, the help file ?system tells us:

"... (To use DOS internal commands use 
paste(Sys.getenv("COMSPEC"),"/c",cmd).)..."

[Peter, we don't need to be experts to read this on Windows -- even with 
that heatwave in Dortmund ... ;-)]

So we get:

  filenames <- system(paste(Sys.getenv("COMSPEC"), "/c", "dir /b"), 
intern = TRUE)

but that's the same way shell() works, so I woudn't expect this to work 
when shell() doesn't...

Uwe Ligges


> 
> Simon Fear
> Senior Statistician
> Syne qua non Ltd
> Tel: +44 (0) 1379 644449
> Fax: +44 (0) 1379 644445
> email: Simon.Fear at synequanon.com
> web: http://www.synequanon.com
>  
> Number of attachments included with this message: 0
>  
> This message (and any associated files) is confidential and 
> contains information which may be legally privileged.  It is 
> intended for the stated addressee(s) only.  Access to this 
> email by anyone else is unauthorised.  If you are not the 
> intended addressee, any action taken (or not taken) in 
> reliance on it, or any disclosure or copying of the contents of 
> it is unauthorised and unlawful.  If you are not the addressee, 
> please inform the sender immediately and delete the email 
> from your system.
> 
> This message and any associated attachments have been 
> checked for viruses using an internationally recognised virus 
> detection process.  However, Internet communications cannot 
> be guaranteed to be secure or error-free as information could 
> be intercepted, corrupted, lost, destroyed, arrive late or 
> incomplete. Therefore, we do not accept responsibility for any 
> errors or omissions that are present in this message, or any 
> attachment, that have arisen as a result of e-mail transmission.  
> If verification is required, please request a hard-copy version. 
> Any views or opinions presented are solely those of the author 
> and do not necessarily represent those of Syne qua non.




More information about the R-help mailing list