我想创建一个批处理文件以将当前目录添加到我的系统变量PATH
,(不是我的User变量)。
当我使用时:
SETX /M PATH "%CD%;%PATH%"
它做所需的事情。但是,我收到一条错误消息:
正在保存的数据被截断为1024个字符。
当我使用GUI检查System变量时,我看到User Path正在添加到System Path。结果,系统路径中有重复的条目。
我尝试将%PATH%
变量分配给一个临时变量并回显,但是我也看到了重复项。
我在某些堆栈答案中看到,我们在批处理文件中使用的%PATH%
变量实际上是用户路径和系统路径的串联。
在命令提示符下,我尝试过:
REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PATH"
但是我对我们是否可以使用它来获取PATH值并分配给另一个变量没有太多了解。
答案 0 :(得分:0)
我在@Mofi提供的link中找到了我所问问题的答案。这样一来,您只能采用系统路径,并向其添加目录。
set "env=HKLM\System\CurrentControlSet\Control\Session Manager\Environment"
for /f "tokens=2*" %%I in (
'reg query "%env%" /v Path ^| findstr /i "\<Path\>"'
) do setx /m PATH "%%J;%CD%"