【问题标题】:Using CMD SET command is not saving使用 CMD SET 命令不保存
【发布时间】:2017-05-21 09:54:41
【问题描述】:

提前我是编程/脚本的新手。我主要研究我想要的东西,并在可能的情况下对其进行编辑以满足我的需要。

环境:

  • Windows 7
  • CMD
  • 用户组 = 管理员
  • 以用户(管理员)身份启动或以管理员身份启动 cmd 时发生

当我使用 CMD 更改环境设置时,它不会保存到系统中。 示例:

C:\Users\admin>SET TESTVARIABLE = "This is a test"
C:\Users\admin>SET
    TESTVARIABLE = "This is a test"
C:\Users\admin>_

关闭 cmd,重新打开,使用 SET 并且测试变量不再存在。 通过System > Advanced System Settings > Environment Variables > System Variables 是我可以积极更改变量的唯一方法。

这也受到我制作的任何 .bat 文件的影响。我的实际上并没有在运行时得到应用,而是我复制的其他人(整个 .bat 文件,不仅仅是文本/上下文)。

这发生在我的(所有工作中的)台式电脑(win10)和 2x 远程桌面(win7)上。我是管理员,我在这些 RDP 上使用管理员用户。

有人知道发生了什么,我缺少什么,我该如何研究或修复它?

【问题讨论】:

  • 在命令提示符处输入SETX /?
  • 它现在工作了,但在错误的位置。我可以看到它使用set 保存在 CMD 中,但是当我查看系统变量时,它不存在。它确实出现在“管理员的用户变量”中,但这不是我需要的地方。我猜有 switch(?) 或 delimiter(?)
  • 错位是什么意思?顺便说一句,SET TESTVARIABLE = "This is a test" 中等号周围的空格成为 var 名称和内容的一部分。
  • 见 setx 的/M 开关。阅读setx /? 会有所帮助。
  • 谢谢,不知道这样读取的空间。关于阅读setx /? 内容:每当他们提供示例时,我都会迷失方向。我不知道他们在读取 Syntax 1: SETX [/S system [/U [domain]user [/P [password]]]] var value [/M] Syntax 2: SETX [/S system [/ U [domain]user [/P [password]]]] var /K regpath [/M] 语法3:SETX [/S system [/U [domain]user [/P [password]]]] /F file { var {/A x,y | /R x,y 字符串}[/M] | /X} [/D 分隔符]

标签: windows batch-file cmd


【解决方案1】:

使用“set”命令设置的变量仅在 cmd 的实例中可用。要永久保存变量,请参见:Set a persistent environment variable from cmd.exe

【讨论】:

  • 谢谢,这给了一个很好的解释。现在,您可能知道如何解释$command /? 示例的指南或信息吗? b/c 正如 LotPings 所说,我需要阅读它们,但是当它们给出示例时,它们让我非常困惑。
  • 其实没那么难。由 [] 包围的 setx 命令所需的所有参数都是可选的,其他所有参数都是必需的。参数本身在语法和描述下面解释。我建议在 cmd.exe 方面使用此站点作为您的参考(除了通过 /? 提供的内置帮助):ss64.com/nt
猜你喜欢
  • 2019-09-22
  • 2022-01-22
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
  • 2021-05-27
  • 2021-02-19
  • 2012-06-27
相关资源
最近更新 更多