2
My attempt:
setx PATH "%PATH%;%~dp0"
How do I do this without everything in system PATH getting duplicated in user PATH?
2
My attempt:
setx PATH "%PATH%;%~dp0"
How do I do this without everything in system PATH getting duplicated in user PATH?
1
Use the /m
option.
setx /m PATH "%PATH%;%~dp0"
Notes:
/m
- Set the variable in the system environment HKLM.
(The default is the local environment HKCU)setx
usageF:\test>setx /?
SetX has three ways of working:
Syntax 1:
SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M]
Syntax 2:
SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath [/M]
Syntax 3:
SETX [/S system [/U [domain\]user [/P [password]]]]
/F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]
Description:
Creates or modifies environment variables in the user or system
environment. Can set variables based on arguments, regkeys or
file input.
Parameter List:
/S system Specifies the remote system to connect to.
/U [domain\]user Specifies the user context under which
the command should execute.
/P [password] Specifies the password for the given
user context. Prompts for input if omitted.
var Specifies the environment variable to set.
value Specifies a value to be assigned to the
environment variable.
/K regpath Specifies that the variable is set based
on information from a registry key.
Path should be specified in the format of
hive\key\...\value. For example,
HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Control\TimeZoneInformation\StandardName.
/F file Specifies the filename of the text file
to use.
/A x,y Specifies absolute file coordinates
(line X, item Y) as parameters to search
within the file.
/R x,y string Specifies relative file coordinates with
respect to "string" as the search parameters.
/M Specifies that the variable should be set in
the system wide (HKEY_LOCAL_MACHINE)
environment. The default is to set the
variable under the HKEY_CURRENT_USER
environment.
/X Displays file contents with x,y coordinates.
/D delimiters Specifies additional delimiters such as ","
or "\". The built-in delimiters are space,
tab, carriage return, and linefeed. Any
ASCII character can be used as an additional
delimiter. The maximum number of delimiters,
including the built-in delimiters, is 15.
/? Displays this help message.
NOTE: 1) SETX writes variables to the master environment in the registry.
2) On a local system, variables created or modified by this tool
will be available in future command windows but not in the
current CMD.exe command window.
3) On a remote system, variables created or modified by this tool
will be available at the next logon session.
4) The valid Registry Key data types are REG_DWORD, REG_EXPAND_SZ,
REG_SZ, REG_MULTI_SZ.
5) Supported hives: HKEY_LOCAL_MACHINE (HKLM),
HKEY_CURRENT_USER (HKCU).
6) Delimiters are case sensitive.
7) REG_DWORD values are extracted from the registry in decimal
format.
Thanks, I need it to be set for the HKCU environment though – J.Doe – 2016-05-04T19:52:55.343
Ah. See this answer How to update the PATH user environment variable from command-line
– DavidPostill – 2016-05-04T19:57:16.2700
It looks like this page may cover what you are trying to do: adding PATH with SETX or PATHMAN or something else? Or maybe add more detail to your question, so we can understand how this is different. However, that page has multiple solutions to either the same or a similar problem as to what you are asking.
I was hoping to avoid getting pathed or using the machine env vars – J.Doe – 2016-05-04T15:19:55.523
2
Possible duplicate of How to update the PATH user environment variable from command-line
– DavidPostill – 2016-05-04T19:57:36.897