我有一个 .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”