now*_*wox 3 windows batch environment-variables
我在 StackExchange 上发现了很多这样的问题,但没有一个在我的具体情况下有效。
我想轻松地将 %FOO% 添加到用户环境变量 PATH。
我在下面找到了解决方案。不幸的是,它没有按预期工作。
for /f "skip=2 tokens=3*" %a in ('reg query HKCU\Environment /v PATH') do @if [%b]==[] ( @setx PATH "%~a;%FOO%" ) else ( @setx PATH "%~a %~b;%FOO%" )
Run Code Online (Sandbox Code Playgroud)
如果出现以下情况则不起作用:
此外,它不会从字面上添加 %FOO% 而是扩展它。
有没有可能轻松做到?
这取决于您要尝试做什么:
set PATH=%PATH%;%FOO%
。setx PATH "%PATH%;%FOO%"
。请注意,此更改在您当前的命令行会话中不可见;你需要启动一个新的命令行。setx /M PATH "%PATH%;%FOO%"
。您可以通过ECHO %PATH%
在命令行中键入或在 Windows 环境设置中检查来查看路径。
此外,在 Windows 7 和 8 中,最大环境变量字符串大小为 32,767 个字符。尽管这对 PATH 变量也有效,但命令控制台中的命令最大长度为 8191 个字符,因此在命令行命令中使用 PATH 变量时需要考虑到这一点。无论如何,您现在拥有的 256 个字符上方还有更多的空间。