How can I best achieve the following (works in Splus):
filenames <- dos("dir *.sasb7dat /b")
What I am asking, more generically, is: how can I capture the output of a DOS command in R?
I have tried using
system("COMMAND.COM /c dir /b", intern=T, show.output.on.console=T)
where
intern: a logical, indicates whether to make the output of the command an R object.
but it makes no useful difference:
system("COMMAND.COM /c dir /b", intern=T, show.output.on.console=T)
character(0)
print(system("COMMAND.COM /c dir /b", intern=F,
show.output.on.console=T)) [1] 0
In both cases here a DOS window opens and lists a couple of hundred files, before giving the above output.
I am also a bit baffled by "show.output.on.console" whose only effect seems to be on whether the DOS screen opens for one millisecond or for one second. It does not, per help, "show the output of the command on the R console".
Incidentally I can answer the problem at hand using the following workaround (but what I'm after is a more generic solution):
shell("dir D:\\tmp\\*.sasb7dat /b > D:\\tmp\\Paula\\dirlist.lst") dataset.names <- scan("D:\\tmp\\dirlist.lst", what="", sep="\n")
So you almost got it, just read ?shell carefully enough:
filenames <- shell("dir D:\\tmp\\*.sasb7dat /b", intern = TRUE)
or even better in this case:
filenames <- list.files("d:/tmp", pattern = "sasb7dat")
Uwe Ligges
TIA
SF
Simon Fear
Senior Statistician
Syne qua non Ltd
Tel: +44 (0) 1379 644449
Fax: +44 (0) 1379 644445
email: [EMAIL PROTECTED]
web: http://www.synequanon.com
Number of attachments included with this message: 0
This message (and any associated files) is confidential and\...{{dropped}}
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help
