为什么我必须从 Win7 中的 RegEdit 导入 .reg 文件而不是从 .bat 文件导入?

为什么我必须从 Win7 中的 RegEdit 导入 .reg 文件而不是从 .bat 文件导入?

我有一个 .bat 文件,它调用一个 .reg 文件(例如:regedit mytest.reg)。我以管理员身份运行该 .bat 文件,但出现错误:“无法导入 mytest.reg:打开文件时出错。可能存在磁盘或文件系统错误。”

但是,如果我先打开 RegEdit(以管理员身份),然后打开文件 >> 导入 >> mytest.reg ... 它可以成功运行。

有任何想法吗?

答案1

遇到了同样的问题。一旦您接受在提升的权限下运行,提升的会话的“根”就不会具有与实际命令相同的相对位置。

如果您为文件指定绝对地址,它就会起作用。

现在$.42的问题是...运行该命令的提升会话的当前目录是什么?

答案2

.reg文件位于网络卷上吗?本地管理员通常无法通过网络读取文件。

答案3

在一个简单的测试中它对我来说是有效的,但是当批处理文件运行时我必须回答与 UAC 相关的提示。

您是否自定义过 UAC 设置?也许当您运行批处理文件时,配置为不提升权限(甚至要求提升权限),因此失败。

但是 regedit 在加载时会提升(我认为无论 UAC 设置如何)。

答案4

尝试使用 /C 开关“regedit /C myfile.reg”

相关内容