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

时间:2015-01-09 22:35:09

标签: windows batch-file cmd registry batch-processing

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

以下是我的代码中有问题的部分

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 据我所知,我完全按照假设做到了,到目前为止我找不到具体的帮助。

1 个答案:

答案 0 :(得分:5)

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

path是Windows用于查找程序的以分号分隔的目录列表。当您更改它时,由于reg.exe不在reg.exe,因此Windows无法再找到mypath

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