Hi I'm trying to use setx to change an environment variable, it’s acting up when I try to assign a path with space to the Environment Variable (I had the “” around the value but it’s still not working)

Here is the command I'm using

setx MYCDO "d:\My CDOs\" -m

But by doing this it sets the variable as a user environment variable like this,

d:\My CDOs" -m

I've looked at a few manuals online but I can't seem to get it to work,


When you take away the backslash it works fine, can anyone help?
0 Comments   [ + ] Show Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.


try this syntax:
setx MYCDO "d:\My CDOs\\" /M

somehow you need to escape the second backslash with another backslash.
setx behaves really weird here
Answered 11/08/2011 by: weberik
Yellow Belt

Please log in to comment
I managed to get it working in the end using the registry mode in setx, here's the example,

Registry Mode Syntax

setx variable -k hive\key\...\value [-m]


is the name of the environmental variable to be set.
specifies that the variable is set based on information from a registry key.
is the registry path to the value for the environmental variable. For example: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
specifies that the value being set is in the system environment. The default is the user environment.

I added a reference registry key into the registry with the value I wanted, I then pointed setx to that location in the registry.

Thanks for all your help weberik
Answered 11/09/2011 by: shenmue232
Yellow Belt

Please log in to comment
Answer this question or Comment on this question for clarity