add, edit, delete and remove environment variables

# create and edit on command line:
# create and edit a user environment variable
   setx variable_name “value”
# create and edit a system environment variable
   setx variable_name “value” /m

# query
   set
# clear
   setx variable_name “”

# delete a user environment variable pesistent
   REG delete “HKCU\Environment” /F /V “variable_name”
# delete a system environment variable pesistent
   REG delete “HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment” /F /V “variable_name”


# create and edit with powershell:
# create and edit a user environment variable
   [Environment]::SetEnvironmentVariable("variable_name","variable_value","User")
# create and edit a system environment variable
   [Environment]::SetEnvironmentVariable("variable_name","variable_value","Machine")

# delete a user environment variable
   [Environment]::SetEnvironmentVariable("variable_name", $null ,"User")
# delete a system environment variable
   [Environment]::SetEnvironmentVariable("variable_name", $null ,"Machine")

# persistent removal
   [System.Environment]::SetEnvironmentVariable("variable_name",$NULL,[System.EnvironmentVariableTarget]::User)
   [System.Environment]::SetEnvironmentVariable("variable_name",$NULL,[System.EnvironmentVariableTarget]::Machine)

# example for removal
# open a powershell with admin rights:
   [System.Environment]::SetEnvironmentVariable('HTTP_PROXY',$NULL,[System.EnvironmentVariableTarget]::User)
   [System.Environment]::SetEnvironmentVariable('HTTPS_PROXY',$NULL,[System.EnvironmentVariableTarget]::User)

# query
   Get-ChildItem Env: