[R] argv --- again
ggrothendieck at gmail.com
Mon Apr 3 06:16:14 CEST 2006
On 4/2/06, Duncan Murdoch <murdoch at stats.uwo.ca> wrote:
> On 4/2/2006 9:34 PM, ivo welch wrote:
> > dear R group: I have the probably fairly common problem that I would
> > like to have one code.R file do different things if it is invoked from
> > a symbolic link, which should be easy to uncover.
> > $ ln -s code.R code-0.R
> > $ ln -s code.R code-1.R
> > $ R CMD BATCH code-1.R
> > what needs to be in code-1.R to put code-1.r into a character vector?
> > help appreciated.
> > regards, /ivo welch
> > PS : I read the past R-help posts on the subject, but apparently
> > the older suggested solutions no longer work. (commandArgs() is not
> > the answer, either.) And I did also not see it under the FAQ in the R
> > programming section...and may I suggest this for the faq?
> I think the answer to this is platform dependent. In Windows, the
> answer is: you can't. The command line gets eaten by Rcmd.exe and
> isn't passed to R.
But you can still get it from the system. On XP Pro
(maybe other Windows systems too?) place this in a.r
out <- system("wmic /output:stdout process", intern = TRUE)
out <- sapply(out, function(x) substr(x, 1, nchar(x)-1))
print(strsplit(grep("rcmd.exe.*batch", tolower(out), value = TRUE), "
and then at the command line type:
Rcmd BATCH a.r
and it will print out a.r
More information about the R-help