SET 之后的 REG 命令在 DOS/Windows 批处理文件 (.BAT) 中是 "unknown"

REG command after SET is "unknown" in DOS/Windows batch file (.BAT)

在我的批处理文件中,我开始使用变量,突然以下命令不再起作用。

这是我的代码中有问题的部分

SET "path=MyPath"
REG ADD "HKCU\Software\ETC\ETC" /f /v "MyRegNameA" /t REG_SZ /d "%path%\ETC\"
REG ADD "HKCU\Software\ETC\ETC" /f /v "MyRegNameB" /t REG_SZ /d "%path%"
PAUSE
START "" "%path%\MyProgram.exe"  

此代码在没有 SET... 的情况下也能正常工作,当然还有 MyPath 而不是 %path%。错误消息是:

The command "REG" is either spelled wrong or couldn't be found

我之前在这里找到了如何使用变量:stackEx.SetVariables 据我所知,我完全按照预期做,到目前为止我找不到具体的帮助。

path 是一个合乎逻辑的名称,但它不是一个好用的名称,因为它是由 Windows 分配的。

path 是以分号分隔的目录列表,Windows 用于查找程序。更改后,Windows 将无法再找到 reg.exe,因为 reg.exe 不在 mypath.

只需选择另一个名称 - 不要使用 path。如果在提示符下输入 set,您将看到由 Windows 建立的许多变量的列表。简单规则 - 不要将它们中的任何一个用于用户变量。