我需要一个系统变量并为其分配一个空字符串值。我试过了
setx samplepassword ""
Run Code Online (Sandbox Code Playgroud)
但此时echo %samplepassword%,本应是空字符串的却出现了%samplepassword%。现在我在文档中找到了这个
设置“”(空引号)的值将显示删除变量 - SET 不会显示它,但变量名称将保留在注册表中。
如何使用 setx 分配一个空的系统变量?
更新:我已经通过 Windows GUI 检查了环境变量:Control Panel | System | Advanced | Environment Variables并发现DB_PASSWORD确实使用空字符串值进行了初始化。但是为什么执行会echo %samplepassword%给出上面的输出呢?准确地说,我已经打开了一个新的 cmd 实例。
从技术上讲,您可以创建一个空的环境变量,但不能使用setx.
以管理员身份运行
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v TESTENV /d ""
Run Code Online (Sandbox Code Playgroud)
添加注册表项:
它甚至显示在环境变量系统面板中
但调用时不在列表中set
所以即使有可能,也是毫无用处的。然而,它可能会欺骗一些测试环境的程序。通过检查注册表项是否存在来确定变量是否存在。因此,它甚至可能会适得其反,并造成混乱。
| 归档时间: |
|
| 查看次数: |
6418 次 |
| 最近记录: |