Invalid syntax with setx

Aaron Lee picture Aaron Lee · Jun 20, 2013 · Viewed 35.3k times · Source

I used the setx command to set OGRE_HOME:

setx OGRE_HOME D:\Program Files\OgreSDK

Now I need to change to value of OGRE_HOME. How can I search all the values I have set? If I run the command again, it shows that:

ERROR: Invalid syntax. Default option is not allowed more than '2' time(s).

Answer

ajp15243 picture ajp15243 · Jun 20, 2013

Your path to the Ogre SDK has a space character in it, which is interpreted as a delimiter to another argument. Surround your path with " to keep it as one single argument to setx:

setx OGRE_HOME "D:\Program Files\OgreSDK"

To see the current value of the OGRE_HOME environment variable:

echo %OGRE_HOME%

You may have to open a new command prompt shell to see the value if you set it and are then trying to immediately see it's value.

To see all currently set environment variables, simply run:

set

To show only environment variables that have a certain prefix (so FOO would show FOOBAR and FOOBAZ), put that prefix after set:

set PREFIX

Alternatively, you can use the GUI to edit environment variables (assuming Windows 7 here).

  • Right-click Computer, choose Properties
  • Click Advanced system settings in the left pane
  • Make sure you're on the Advanced tab in the pop-up dialog
  • Click Environment Variables... at the bottom

A dialog will pop up with your user-specific environment variables as well as your system-wide environment variables. Select a value and use the New/Edit/Delete buttons to interact with them.