9

I want to prepend a directory to the windows path (I am running Windows 7 64-bit). However I can not find any way to do this:

  • Changing the PATH variable via the GUI is not working as it is always appending.
  • Changing the PATH with setx does not prepend neither:

    setx PATH "new_dir:%PATH%"

However I need the path prepended, because I want to add the gnu_utils directory before any other directory so Windows uses the gnu find when running find, and not it's own find alias.

Installing Cygwin and using BASH unfortunately is not an option.

EDIT:

I think I should have clarified that I also can not modify the System PATH - only the user PATH.

3 Answers 3

6

Typing PATH /? in a cmd window gives me this:

[...] Including %PATH% in the new path setting causes the old path to be appended to the new setting.

In my case (Belgian environment) I can use this command:

set path c:\users;%path%

and c:\users is prepended to the existing path

Take care to use the correct list separator (I have to use ';')

4
  • 3
    To make it work in the current CMD prompt your command was enough - to make it work in Powershell I had to use the following command (I wonder why I did not find it when searching for it in the first place): $env:Path="<dir>;$env:Path"
    – Gjallar
    Feb 21, 2012 at 9:54
  • 3
    I had to use: set path=c:\users;%path% I needed the '=' to make it work. Jan 23, 2016 at 0:33
  • 1
    note that this does not work in the "Environment Variables" UI of the "System Properties" configuration in Windows 10. you just end up with two copies of the system Path
    – simpleuser
    Feb 19, 2016 at 20:50
  • I suspect you would like quotation marks around that, as the PATH variable may contain spaces: set path "c:\users;%path%" Mar 15, 2016 at 9:33
1

As Gjallar said in the comments on another answer, here is the powershell command:

$env:Path="<dir>;$env:Path"
-2

Use ";" as a path separator. Re-launch a new command prompt window, so that changes take effect.

SETX PATH "new_dir";%PATH%

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .