背景
通过ssh登录到某windows电脑后,需要通过命令行设置下path环境变量。碰到点小坑。记录下。
设置方法
方法1,通过setx命令。类似这样:
setx Path %Path%;new_path
问题是,设置后的环境变量会重复。原因是因为path会将系统path和用户path这两个环境变量合并。导致最终结果出现重复。
试图通过消除重复的办法,搜索后发现有通过脚本实现的。感觉有点麻烦。遂放弃此方式。
方法2,直接通过命令修改注册表
以用户path为例, 先查询当前的值:
reg query HKCU\Environment /v Path
然后设置新值:
reg add HKCU\Environment /v Path /t REG_EXPAND_SZ /d original_value;new_path
注意:original_value为原来的值。如果原来的值中,有%,则需要写成^%。否则写入到注册表中,变量会被展开;另外,orginal_value中的其余部分,可以使用双引号"包围。示例如下:
^%USERPROFILE^%"\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Azure Data Studio\bin;"^%USERPROFILE^%"\.dotnet\tools;"
用户变量所在位置:HKEY_CURRENT_USER\Environment
系统变量所在位置:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment
参考:
Windows 10 环境变量 (用户变量与系统变量)_Yongqiang Cheng的博客-CSDN博客_用户变量识别的环境变量 (Windows 10) - Windows Deployment | Microsoft Docs