我需要一个系统变量并为其分配一个空字符串值。我试过了
setx samplepassword ""
但是在echo %samplepassword%
之后,空字符串应该是%samplepassword%
。现在我在文档中找到了这个
设置值“”(空引号)将显示为删除变量 - SET没有显示它,但变量名将保留在注册表中。
如何使用setx分配空系统变量?
更新:
我通过Windows GUI检查了环境变量:Control Panel | System | Advanced | Environment Variables
并看到DB_PASSWORD
确实是用空字符串值初始化的。但为什么执行echo %samplepassword%
给我上述输出?我准确地打开了一个新的cmd实例。
答案 0 :(得分:3)
从技术上讲,您可以创建一个空的环境变量,但不能创建setx
。
以管理员身份运行
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v TESTENV /d ""
添加了注册表项:
它甚至可以在环境变量系统面板中显示
但在调用set
所以即使有可能,也没用。但它可能会欺骗一些测试环境的程序。通过检查注册表项是否存在来存在变量。所以它甚至可能适得其反,也可能造成混乱。
答案 1 :(得分:2)