[R] Update MS Windows PATH variable based on a R script

Duncan Murdoch murdoch.duncan at gmail.com
Wed Jun 29 20:58:03 CEST 2011


On 29/06/2011 2:24 PM, Janko Thyson wrote:
> Dear list,
>
> this is not directly an R question, but it is somewhat related to R
> aspects, so I hope it's okay to post it here:
>
> I'd like to update my windows PATH based on a script routine in order to
> make sure that crucial components are contained. Much like what happens
> at the installation of Rtools (if desired). Now, can you do that from
> within R or do I need some sort of windows batch file or something like
> AutoIt script (http://www.autoitscript.com/site/autoit/)? If so, what
> would I need to put in there?

You need to set the registry entry if you want a persistent change to 
the PATH.  Sys.setenv just modifies R's copy of the PATH.  Child 
processes will see the modifications, but they don't last beyond the R 
session.

You'll have to check MS docs to find which registry entry to mess with. 
  Alternatively, if you feel lucky, just use Control Panel to set some 
strange path, then see where your change showed up using regedit.

R doesn't have a built-in function to write to the registry, but there 
are various utilities available outside of R to do it.

Duncan Murdoch

>
> Here's what I tried in R:
>
> unlist(strsplit(Sys.getenv("PATH"), ";"))
> PATH.0<- Sys.getenv("PATH")
> PATH.1<- paste(PATH.0, "C:\\blabla\bin")
> Sys.setenv("PATH"=PATH.1)
> unlist(strsplit(Sys.getenv("PATH"), ";"))
>
> The changes seem to be reflected, but when I check my PATH the new entry
> isn't there. I guess there is no actual "feedback" to Windows system
> environment variable and that's exactly what I would like to accomplish
>
> Thanks a lot for any advice,
> Janko
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list