Janko Thyson
2011-Jun-29 18:24 UTC
[R] Update MS Windows PATH variable based on a R script
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? 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
Duncan Murdoch
2011-Jun-29 18:58 UTC
[R] Update MS Windows PATH variable based on a R script
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.
Reasonably Related Threads
- Require of gWidgetsRGtk2 fails: RGtk2.dll can't be found, but it's there
- Reference classes: accessor functions via 'getRefClass(...)$accessors(...)'
- Problems building own package (Error: "package has been build before R-2.10.0")
- Problems building own package (Error: "package has been build before R-2.10.0")
- Roxygen: @example tag does not work for me