要设置用户PATH覆盖以前的任何值,请执行以下操作:
setx PATH "C:\MyPath1"
要将值“ C:\ MyPath0”添加到现有的用户路径中:
for /f "skip=2 tokens=3*" %a in ('reg query HKCU\Environment /v PATH') do @if [%b]==[] ( @setx PATH "C:\MyPath0;%~a" ) else ( @setx PATH "C:\MyPath0;%~a %~b" )
要将值“ C:\ MyPath2”附加到现有的用户路径:
for /f "skip=2 tokens=3*" %a in ('reg query HKCU\Environment /v PATH') do @if [%b]==[] ( @setx PATH "%~a;C:\MyPath2" ) else ( @setx PATH "%~a %~b;C:\MyPath2" )
由于用户路径可能包含空格,也可能不包含空格,因此需要if-else条件。如果需要,可以将命令另存为通用批处理文件(确保每个%符号加倍),这些文件接受要设置/添加/附加的值作为参数。
批处理文件
:: PATH-ADD - add a path to user path environment variable
@echo off
setlocal
:: set user path
set ok=0
for /f "skip=2 tokens=3*" %%a in ('reg query HKCU\Environment /v PATH') do if [%%b]==[] ( setx PATH "%%~a;%1" && set ok=1 ) else ( setx PATH "%%~a %%~b;%1" && set ok=1 )
if "%ok%" == "0" setx PATH "%1"
:end
endlocal
echo.
;%PATH%
您要求追加现有路径(从系统路径派生)。