How to set PATH on Windows through R "shell" command

git, path, r, shell, windows

Solution

If you want to permanantly update your path, then you pretty much had the answer:

shell('setx PATH "C:\\Program Files (x86)\\Git\\bin"')

R only notes a copy of the Windows environment variables when it starts up though, so `strsplit(Sys.getenv("PATH"), ";")` won't be different until you restart R.

Also, this won't run as with admin permissions (unless you set R as an administrator?) so it will add the path to the user path variable not the system one.

If you want R to see a different path in the current session, just use `Sys.setenv`.

Sys.setenv(
  PATH = paste(
    Sys.getenv("PATH"), 
    "C:\\Program Files (x86)\\Git\\bin", 
    sep = ";"
  )
)

This won't make permanant changes to the path. Only R can see this change, and only until you close it.

Problem

I wish to add git to my PATH in Windows 7, through the "shell" command in R. ``` shell('set PATH=%PATH%;"C:\\Program%20Files%20(x86)\\Git\\bin"', intern = TRUE) shell("echo %PATH% ", intern= TRUE) ``` But I do not see that path added. If I run the above code in cmd.exe, it does add it to PATH. Any idea what is the issue? UPDATE: I ended up manually running the following through cmd.exe (which I made sure to run as admin) ``` setx PATH "C:\\Program Files (x86)\\Git\\bin" ``` Which worked. But I wish I could have done so through R. (maybe create a temp file and run it?) I then had to restart some programs to make sure they had been affected.

Original source